NSEntityDescription.entity 应用程序崩溃 (SIGABRT)
NSEntityDescription.entity crashes app (SIGABRT)
包含 NSEntityDescription.entity
的行崩溃并给我错误
Thread 1: SIGABRT
我看到其他人问过这个问题,建议的答案是简单地删除并从头开始重新制作实体。我已经这样做了很多次,我也 "cleaned" 彻底地编写了代码,并在我的 AppDelegate.swift
文件和这个 ViewController
文件中导入了 CoreData。有人有建议吗?
override func viewDidLoad() {
super.viewDidLoad()
addGesture()
guard let appDelegate = UIApplication.shared.delegate as? AppDelegate else { return }
let managedContext = appDelegate.persistentContainer.viewContext
let stringModelEntity = NSEntityDescription.entity(forEntityName: "StringModels", in: managedContext)!
let stringBundle = NSManagedObject(entity: stringModelEntity, insertInto: managedContext)
self.getJSON(stringBundle)
do {
try managedContext.save()
} catch let error as NSError {
print("Could not save. \(error), \(error.userInfo)")
}
}
编辑
终于打开调试器找到了解决方法,下面link的'best answer'描述并解决了这个问题:Core data: Failed to load model
这意味着它找不到名称为 "StringModels" 的实体。根据我的经验,当程序认为应该存在的东西不存在时会导致错误 SIGABRT。
我会检查大小写和拼写。
包含 NSEntityDescription.entity
的行崩溃并给我错误
Thread 1: SIGABRT
我看到其他人问过这个问题,建议的答案是简单地删除并从头开始重新制作实体。我已经这样做了很多次,我也 "cleaned" 彻底地编写了代码,并在我的 AppDelegate.swift
文件和这个 ViewController
文件中导入了 CoreData。有人有建议吗?
override func viewDidLoad() {
super.viewDidLoad()
addGesture()
guard let appDelegate = UIApplication.shared.delegate as? AppDelegate else { return }
let managedContext = appDelegate.persistentContainer.viewContext
let stringModelEntity = NSEntityDescription.entity(forEntityName: "StringModels", in: managedContext)!
let stringBundle = NSManagedObject(entity: stringModelEntity, insertInto: managedContext)
self.getJSON(stringBundle)
do {
try managedContext.save()
} catch let error as NSError {
print("Could not save. \(error), \(error.userInfo)")
}
}
编辑
终于打开调试器找到了解决方法,下面link的'best answer'描述并解决了这个问题:Core data: Failed to load model
这意味着它找不到名称为 "StringModels" 的实体。根据我的经验,当程序认为应该存在的东西不存在时会导致错误 SIGABRT。
我会检查大小写和拼写。