首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSManagedObjectModel为零

NSManagedObjectModel为零
EN

Stack Overflow用户
提问于 2015-03-20 14:24:22
回答 1查看 1.3K关注 0票数 0

enter code here我正在开发一个导入工具,它遵循了objc.io在https://github.com/objcio/issue-4-importing-and-fetching上所做的模式。

在程序的早期,我正在从url创建一个NSManagedObjectModel实例,它正在返回零。当我运行这个程序时,我后来得到的错误是“不能创建一个零模型的NSPersistentStoreCoordinator”。

附加是一个截图在一个断点后,我创建模型。我在这附近看过,并证实:

  • HistologyDataImporter.xcdatamodeld属于HistologyDataImporter (目标成员资格)
  • 我正在使用的NSString路径匹配模型文件的名称("HistologyDataImporter")
  • 我也尝试过将"mom“作为URLByAppendingPathComponent的扩展,但运行时模型仍然是零。

为什么[[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL]还在返回零?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-20 16:50:26

因为你用错地方了。你所拥有的是:

代码语言:javascript
复制
NSString *path = @"HistologyDataImporter";
NSURL *modelURL = [NSURL fileURLWithPath:path isDirectory:NO];
moelURL = [modelURL URLByAppendingPathComponent:@"momd"];

如果使用这样的相对路径调用fileURLWithPath:,则假定它是相对于当前工作目录的。您的代码没有设置工作目录,但是modelURL的值表明它位于Xcode的派生数据文件夹中。在从Xcode运行应用程序时,这并不奇怪,但模型文件不在该目录中。

您需要找出HistologyDataImporter.momd的位置,并确保modelURL确实指向该位置。如果将模型文件放在桌面上,则可以使用与desktopURL中相同的main(),并将模型文件名添加到其中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29168822

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档