Xcode 核心数据:';n内部一致性异常';,原因:'+;entityForName:找不到名为';文件位置';在这个模型中';

Xcode 核心数据:';n内部一致性异常';,原因:'+;entityForName:找不到名为';文件位置';在这个模型中';,xcode,core-data,model,entity,Xcode,Core Data,Model,Entity,我突然被一个奇怪的问题绊倒了。我有一个相当广泛的CoreData数据模型,我已经将它(以及包含它的项目)复制到一个新项目中,作为我正在开发的原型。我让它工作,并混合和匹配新的实体和属性 突然,没有明显的原因,我突然得到以下错误: “NSInternalInconsistencyException”,原因:“+entityForName: 在此模型中找不到名为“DocumentLocations”的实体。“ 我深入研究了创建NSManagedObjectContext、NSPersistentSt

我突然被一个奇怪的问题绊倒了。我有一个相当广泛的CoreData数据模型,我已经将它(以及包含它的项目)复制到一个新项目中,作为我正在开发的原型。我让它工作,并混合和匹配新的实体和属性

突然,没有明显的原因,我突然得到以下错误:

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

我深入研究了创建NSManagedObjectContext、NSPersistentStoreCoordinator和NSManagedObjectModel的整个过程,很明显没有加载对象模型。我执行以下命令:

_managedObjectModel=[[NSManagedObjectModel mergedModelFromBundles:nil]retain]

但是,当我在加载后查找模型中的实体时(如果将nil传递给mergedModelFromBundles,该方法将从主捆绑包创建模型),什么都没有

Xcode或模拟器似乎看不到我的xdatamodel文件。我完全不知道为什么不能。我将试图通过一个URL显式加载它来强制解决这个问题,但我不确定这将如何工作

有什么线索吗?CoreData问题可能绝对令人困惑。随着时间的推移,我已经设法解决了其中的大部分问题,但这一点令人头痛


编辑:亚历克斯找到了答案。我只想知道模型是如何从Xcode中的“编译源代码”列表中删除的。希望Xcode更可靠。可能真的是一个皮塔。亚历克斯明白了。出于某种原因,xdatamodel已从生成设置中删除。我把它加了回去,它成功了。我真的不明白为什么一开始它会被移除。它在一次构建和下一次构建之间消失了。

通过从模拟器和我的iPhone中删除应用程序,修复了这一问题

显然,在早期运行中添加DB时没有实体。然后,当我添加实体并将所有内容连接起来后,开始接收类似于上面的错误


删除应用程序后,可以重新创建数据库并修复此问题。

是否确实要将xcdatamodel复制到应用程序中?仅仅将其添加到项目中可能还不够,因此您可能还需要检查生成设置以确保包含它。您还可以在文件系统上跟踪生成的.app包,并打开它查看是否包含数据模型文件。哇。太棒了。我唯一的问题是:它是怎么被移除的????非常感谢。但愿我昨天就知道了。会为我节省大量的时间。现在我要回去调试我的/其他/问题了!再次感谢。将数据模型文件添加到当前构建目标(侧栏右侧)@MartinBrugger Yes。一旦Alex确定了问题所在,我就这么做了。它成功了。我只是不明白它是怎么被移除的。据我所知,我没有为这件事做任何事情。我总是假设EBSAK,但有时候Xcode会在。。。奇怪的是……我如何确定@Alex的答案是正确的?