我的应用程序崩溃并给我一个致命的错误,并没有真正告诉我任何事情,所以我不知道会发生什么。
这是我的代码中给我带来麻烦的部分。
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)")
}
}
它崩溃了
let mainController = NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: context, sectionNameKeyPath: nil, cacheName: nil)
“context”引用了app delegate
let ad = UIApplication.shared.delegate as! AppDelegate
let context = ad.persistentContainer.viewContext
错误是:
致命错误:未解决的错误错误域= NSCocoaErrorDomain代码= 134140“(null)”UserInfo = {sourceModel =()isEditable 1,entities { “应用代表的第70行崩溃”
感谢您的帮助
答案 0 :(得分:0)
由于您使用AppDelegate
方法运行此抓取,我怀疑您正在尝试在之前执行您的CoreData持久存储,并且它的上下文已初始化导致崩溃。