+entityForName:在此模型中找不到名为“EntityName”的实体

Posted

技术标签:

【中文标题】+entityForName:在此模型中找不到名为“EntityName”的实体【英文标题】:+entityForName: could not locate an entity named 'EntityName' in this model 【发布时间】:2016-07-12 19:03:02 【问题描述】:

我知道这可能看起来是重复的,但我尝试了几个答案,但都没有奏效。

我正在尝试使用 Core Data 来存储已完成的关卡,但我在保存数据时遇到了一些麻烦。在一个级别完成的那一刻,将调用以下行。

    let appDelegate =
        UIApplication.shared().delegate as! AppDelegate


    let managedContext = appDelegate.managedObjectContext


    let level = NSEntityDescription.insertNewObject(forEntityName:"SucceededLevels", into:managedContext) as NSManagedObject


    person.setValue(levelName, forKey: "levels")

    do 

        try managedContext.save()

        levelsArray.append(person)
     catch let error as NSError  
        print("Could not save \(error), \(error.userInfo)")
    

但我收到以下错误

“由于未捕获的异常而终止应用程序 'NSInternalInconsistencyException',原因:'+entityForName:不能 在此模型中找到名为“SucceededLevels”的实体。”

我已经在 .xcdatamodel 中设置了实体。

【问题讨论】:

检查实体名称的拼写。 【参考方案1】:

几天后我终于找到了问题所在。问题不在于代码,当我单击新实体时,Xcode 8 Beta 没有创建新实体。所以我切换到 Xcode 7.3,尽管 swift 2.3/3.0 出现了所有错误,并设法创建了一个新实体。

【讨论】:

以上是关于+entityForName:在此模型中找不到名为“EntityName”的实体的主要内容,如果未能解决你的问题,请参考以下文章

CoreData:“NSInternalInconsistencyException”,原因:“+entityForName:无法在此模型中找到名为“DocumentLocations”的实体。

Swift 3 核心数据 NSInternalInconsistencyException entityForName 无法在此模型中找到名为 Foo 的实体

在此模型中找不到名为“Book”的实体。 ios核心数据错误?

+entityForName: 找不到实体名称的 NSManagedObjectModel

在应用程序配置文件中找不到名为“MyEntities”的连接字符串

发生了错误。 : 在应用程序配置文件中找不到名为“EmployeeDBEntities”的连接字符串