Meine App stürzt ab und gibt mir einen fatalen Fehler, der mir nicht wirklich etwas sagt, also weiß ich nicht, was passieren könnte.NSFetchedResultsController Schwerwiegender Fehler beim Arbeiten mit CoreData (Versuch holen)
Hier ist der Abschnitt meines Codes, der mir Probleme bereitet.
var controller: NSFetchedResultsController<Item>!
func attemptFetch() {
let fetchRequest: NSFetchRequest<Item> = Item.fetchRequest()
let dateSort = NSSortDescriptor(key: "created", ascending: false)
fetchRequest.sortDescriptors = [dateSort]
let mainController = NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: context, sectionNameKeyPath: nil, cacheName: nil)
self.controller = mainController
do {
try mainController.performFetch()
} catch {
let error = error as NSError
print("\(error)")
}
}
Es stürzt bei
let mainController = NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: context, sectionNameKeyPath: nil, cacheName: nil)
Und "Kontext" verweist auf den AppDelegate
let ad = UIApplication.shared.delegate as! AppDelegate
let context = ad.persistentContainer.viewContext
Der Fehler ist:
fatal error: Unresolved error Error Domain=NSCocoaErrorDomain Code=134140 "(null)" UserInfo={sourceModel=() isEditable 1, entities { "Crash on line 70 of the app delegate"
Danke für Ihre Hilfe
'controller' (' NSFetchedResultsController') soll eine faul instanziierte Eigenschaft in der Klasse sein, wie von Apple in der Core Data Vorlage vorgeschlagen. – vadian
@vadian Könnten Sie den Link für die Apple-Dokumentation bereitstellen, wo es heißt, dass es instanziiert sein soll? –
Erstellen Sie einfach ein neues (Master-Detail) -Projekt mit aktivierten Kerndaten und untersuchen Sie den bereitgestellten Code. – vadian