我正在尝试将核心数据功能添加到现有项目中。 我添加了一个名为“myProj.xcdatamodel”的数据模型文件
获取managedObjectModel时,我的代码崩溃如下 什么是“momd”文件?我在哪里可以得到它或我如何创建它? 当我读取路径时,它返回null并崩溃应用程序。
NSString *modelPath = [[NSBundle mainBundle] pathForResource:@"myProj" ofType:@"momd"];
NSURL *modelURL = [NSURL fileURLWithPath:modelPath];
答案 0 :(得分:29)
momd文件是妈妈文件的版本等效文件。此时您有两种选择:
仅使用非版本化的模型文件。将提供的代码更改为:
NSString * modelPath = [[NSBundle mainBundle] pathForResource:@“myProj”ofType:@“mom”]; NSURL * modelURL = [NSURL fileURLWithPath:modelPath];
如果您从Xcode中的默认模板创建基于导航的应用程序(使用核心数据进行存储),您会发现模型文件已经过版本化。
有关详细信息,请参阅:Model Versions
答案 1 :(得分:5)
“mom”或“momd”文件是.xcdatamodel文件的编译版本。也许您没有将.xcdatamodel文件添加到目标中,因此它没有被编译?获取信息并确保它为您的目标构建。
另请查看CoreDataBooks示例代码。