Core data 核心数据-NSURL命令和momd

Core data 核心数据-NSURL命令和momd,core-data,Core Data,我正在从事一个使用核心数据的项目,我似乎找不到足够的解释来解释为什么我的程序中的以下代码行总是为modelURL返回NIL NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"CoreDataBooks" withExtension:@"momd"]; 这个例子直接来自苹果的示例代码,它实际上在他们的程序中工作,但我无法让它在我的程序中工作 问题: 1在我尝试实施之前,是否必须采取措施。我注意到苹果的解决方案有一个我没有的Core

我正在从事一个使用核心数据的项目,我似乎找不到足够的解释来解释为什么我的程序中的以下代码行总是为modelURL返回NIL

NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"CoreDataBooks" withExtension:@"momd"];
这个例子直接来自苹果的示例代码,它实际上在他们的程序中工作,但我无法让它在我的程序中工作

问题: 1在我尝试实施之前,是否必须采取措施。我注意到苹果的解决方案有一个我没有的CoreDataBooks.DCBStore文件。我尝试了很多方法来创造这个…没有运气。 两个月:我读了很多关于这方面的书,看起来和妈妈的有点不同。我知道d为数据集提供了额外的功能,在这里发布的一些答案中,作者表示使用mom而不是momd,但没有对原因进行很好的解释。尽管如此,这也不起作用

一如既往,我感谢你的帮助

Glenn

So-[NSBundle URLForResource:…]返回零。这意味着请求的资源不存在

启动Finder并查看包裹内部。确认该文件确实不存在。是否存在momd文件或类似文件,但名称不同?可能需要调整代码以匹配


如果不存在此类文件,则可能需要将核心数据模型添加到构建目标。

检查资源名称的拼写。确保模型包含在正在运行的目标包中。检查第一部分拼写。没问题。确保模型包含在您正在运行的目标的捆绑包中是什么意思?在Xcode中选择模型文件,如果选中了相关目标的复选框,则在文件检查器中进行检查。花了一段时间查找您的评论,但是我找到了它,并且它看起来被正确地检查了。创建一个新的模型,并尝试使用不同的名称。如果可以的话,把你的模型从一个复制到另一个,然后删除原来的模型。我试着在=符号右侧创建一个NSLog,发现了一些有趣的东西。仍然不知道如何修复它,但它很有趣。它返回了以下内容:/Users/User/Library/Application Support/iPhone Simulator/6.1/Applications/1DD67211-3503-4FF2-85FE-341BFA867F7B/CoreDataBooks.app/CoreDataBooks.momd……问题是,CoreDataBooks.app不是目录,而是可执行文件。苹果提供的应用程序也是如此……非常奇怪。另外,我尝试了Finder,但它没有找到文件。不,CoreDataBooks.app几乎肯定是一个目录;这是一个包裹。控件在查找器中单击它,然后选择“显示包内容”以查看内部