将核心数据添加到 iPhone 项目
Posted
技术标签:
【中文标题】将核心数据添加到 iPhone 项目【英文标题】:Adding core data to an iPhone project 【发布时间】:2011-08-23 06:05:57 【问题描述】:我在Xcode 4 有一个项目,我已将 coredata 添加到其中,从另一个项目导入了 *.xcdatamodel,并添加了库。我更改了xcdatamodel
名称,并在委托中粘贴了必要的方法。
但我得到了错误
'无法使用 nil 模型创建 NSPersistentStoreCoordinator'
所以我需要检查我的 xcdatamodel 文件是否与我的目标链接,但我该怎么做呢?
当 .app 包中不存在 xcdatamodel(d) 时,可能会发生这种情况。 .xcdatamodeld 文件被添加到 Compile Sources 列表中(在 Xcode 4 中,单击左侧的项目,选择您的目标,转到 Build Phases 并选中 Compile Sources)。
app.xcdatamodel
在我的编译源中。我还应该在哪里调用要识别的模型?
【问题讨论】:
【参考方案1】:似乎找不到您的对象模型文件。
您在哪里指定 .mom(或 .momd)文件的位置?它应该看起来像
NSString *path = [[NSBundle mainBundle] pathForResource:@"app" ofType:@"mom"];
如果之后立即将其输出到控制台会得到什么(像这样)
NSLog(@"%@", path);
(我预计会是nil
!)
【讨论】:
【参考方案2】:在您的应用委托中,检查方法managedObjectModel
。
很可能你在某处有错误的实体名称。
【讨论】:
【参考方案3】:我发现了一个 xcodeism(错误?),我在其中创建了一个名称中带有连字符的“控制台”类型的应用程序。这在某些地方(数据模型文件)被翻译成下划线,而在其他地方则保留为连字符。关于这种交互的某些东西导致了上述问题。
绝对不是一般案例问题,但可能会发现一些毫无戒心的极端案例......
【讨论】:
以上是关于将核心数据添加到 iPhone 项目的主要内容,如果未能解决你的问题,请参考以下文章