【问题标题】:+entityForName: could not locate an entity named 'EntityName' in this model+entityForName:在此模型中找不到名为“EntityName”的实体
【发布时间】: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 中设置了实体。

【问题讨论】:

  • 检查实体名称的拼写。

标签: ios swift core-data entity xcdatamodel


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多