更改核心数据托管对象模型的文件名

时间:2011-05-02 04:30:40

标签: objective-c xcode ios core-data

如何更改Core Data托管对象模型的文件名?

我想在Xcode项目中更改Core Data托管对象模型的文件名。我并不担心任何迁移问题。

我目前以这种方式访问​​我的代码中的文件:

    NSString *path = [[NSBundle bundleForClass:[self class]] pathForResource:@"Template" ofType:@"momd"];

我还没有找到一种方法来更改不会导致Xcode无法找到更改的文件名的momd文件名/包。

3 个答案:

答案 0 :(得分:6)

.xcurrentversion内有隐藏文件"model".xcdatamodeld

只需编辑此文件即可匹配您模型的新名称:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs$
<plist version="1.0">
<dict>
        <key>_XCCurrentVersionName</key>
        <!-- This name should be the same as the file name !-->
        <string>"model".xcdatamodel</string> 
</dict>
</plist>

答案 1 :(得分:4)

完成了几次。

只需重命名xcdmodel,并在从捆绑包中加载它时处理该名称。在运行之前,请确保清洁目标。 (例如,删除所有预编译的文件,否则他认为他已经编译了模型,因此你的应用程序无法加载妈妈,因为他们的名字错了)

答案 2 :(得分:-1)

非常确定这是原因:http://openradar.appspot.com/7500956