Die Funktion unten verwendet wird, um Daten zu erhalten TableviewSwift 3 Core Data Ausgabe holen
func fetchProfiles() -> Array<User> {
var users: Array<User> = []
let fetchRequest: NSFetchRequest<Profile> = Profile.fetchRequest()
let fetchedData = try! context.fetch(fetchRequest)
if (!fetchedData.isEmpty) {
print(fetchedData)
for i in 0...fetchedData.count {
var user: User = User()
user.userName = fetchedData[i].profileName
user.userSurname = fetchedData[i].profileSurname
user.userPhoto = fetchedData[i].profilePhoto
users.append(user)
}
return users
}
else {
return users
}
}
"User" ist eine einfache Struktur. "Profil" ist eine Entität in Core Data. Ich erstelle ein Array von Strukturen, um sie für Zellen in der Tabelle zu verwenden. Code hat keine Fehler (für xCode). Wenn es keine abgerufenen Daten ist, überspringt es Array anhängt, aber wenn es einige Informationen ist, stürzt App mit Fehler:
fatal error: NSArray element failed to match the Swift Array Element type
Versuchen Sie, diese Zeile bei Abrufanforderung zu ersetzen, *** lassen Sie fetchedData = versuchen! context.executeFetchRequest (fetchRequest) als! [AnyObject] *** – Suresh
@Suresh xCode sagt: "Wert des Typs NSFetchRequest kann nicht in den erwarteten NSFetchRequest " –
konvertiert werden Ersetzen Sie Ihre let fetchRequest: NSFetchRequest = Profile.fetchRequest(); Zeile mit *** let fetchRequest: NSFetchRequest = NSFetchRequest (entityName: "Profil") *** hier sollte "Profil" Ihr Entity-Name sein, stellen Sie sicher, dass Sie es als String übergeben –
Suresh