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。

我会检查大小写和拼写。