将核心数据添加到iPhone项目

时间:2011-08-23 06:05:58

标签: ios core-data model

我在Xcode 4中有一个项目,我已经添加了coredata,从另一个项目导入了* .xcdatamodel,并添加了库。我更改了xcdatamodel名称,并在委托中粘贴了必要的方法。

但是我收到了错误

  

'无法使用nil模型'

创建NSPersistentStoreCoordinator

所以我需要检查我的xcdatamodel文件是否与我的目标链接,但我该怎么做?

当.app包中没有xcdatamodel(d)时,会发生这种情况。 .xcdatamodeld文件添加到Compile Sources列表中(在Xcode 4中,单击左侧的项目,选择目标,转到Build Phases并检查Compile Sources)。

app.xcdatamodel,在我的编译源中。我还应该在哪里宣布模型被识别?

3 个答案:

答案 0 :(得分:0)

在您的app delegate中,检查方法managedObjectModel

很可能你的某处有一个错误的实体名称。

答案 1 :(得分:0)

似乎无法找到您的对象模型文件。

您在哪里指定.mom(或.momd)文件的位置?它应该看起来像

NSString *path = [[NSBundle mainBundle] pathForResource:@"app" ofType:@"mom"];

如果您在此之后立即将其输出到控制台(如此)

,您会得到什么?
NSLog(@"%@", path);

(我预测它会是nil!)

答案 2 :(得分:0)

我发现了一个xcodeism(bug?),我正在创建一个名称中带有连字符的“Console”类型的应用程序。这在某些地方(数据模型文件)被转换为下划线,并在其他地方保留为连字符。关于这种互动的一些事情导致了上述问题。

绝对不是一般的案例问题,但可能会抓到一些毫无防备的角落案例......