如何创建神奇的.xcdatamodeld文件夹/包?

Toa*_*tor 15 iphone xcode core-data objective-c

最近,我管理(不小心,不要问)删除我的Core Data数据模型文件和类.而且我完全无法再次创建文件,就像它们在新开始的项目中完全相同,这些文件是由XCode自动准备的.

在新项目中,文件看起来像这样:

替代文字

虽然我能够创造的是:

替代文字

我是否提到应用程序不再以这种方式工作了?它崩溃说模型一定不能nil.通过启动一个具有相同名称的新项目并将文件拖到旧项目来解决问题 - 我认为这不是最优雅的解决方案.

然而,我认为有关Core Data的内容我显然还不太明白.

请启发我 - .xcdatamodeld文件夹背后的魔力是什么?为什么Foo.xcdatamodel会显示绿色选中图标?数据模型是否需要以某种方式编译或处理?

非常感谢!

Mat*_*uch 29

coredata模型包保留所有模型版本.带有绿色复选标记的模型是当前版本,存储在coredata中的数据将使用此方案保存.所有其他datamodel版本都支持数据库迁移,如果数据模型中只有很小的变化,则可以自动升级存储在不同版本中的数据.

要创建模型包,请选择单个模型,在主Design菜单中打开菜单,然后选择Data ModelAdd Model Version.

您的应用程序崩溃了,因为它需要具有该类型的datamodel包momd.

NSString *modelPath = [[NSBundle mainBundle] pathForResource:@"foobar" ofType:@"momd"];
Run Code Online (Sandbox Code Playgroud)

如果您只有一个Datamodel,则不会将其编译为"momd"文件.但我忘记了实际的扩展.


在Xcode4中Add Model Version可以在Editor主菜单中找到.