【发布时间】:2012-05-21 17:27:00
【问题描述】:
我使用 Core Data 创建了一个主从应用程序。并且有一个简单的代码 获取模型文件的路径:
NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"Model" withExtension:@"momd"];
我不知道为什么扩展名不是“xcdatamodel”而是“momd”。
有人知道答案吗?
【问题讨论】:
我使用 Core Data 创建了一个主从应用程序。并且有一个简单的代码 获取模型文件的路径:
NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"Model" withExtension:@"momd"];
我不知道为什么扩展名不是“xcdatamodel”而是“momd”。
有人知道答案吗?
【问题讨论】:
mom 和 momd 文件是 xcdatamodel 和 xcdatamodeld 文件的编译版本。
这里有关于编译过程如何工作的信息here(第 31 页)。引用文档:
数据模型是一种部署资源。除了模型中实体和属性的详细信息之外,您在 Xcode 中创建的模型还包含有关图表的信息——它的布局、元素的颜色等等。运行时不需要后面的信息。模型文件是使用模型编译器
momc编译的,以去除无关信息并使资源的运行时加载尽可能高效。
【讨论】: