enter code here我正在开发一个导入工具,它遵循了objc.io在https://github.com/objcio/issue-4-importing-and-fetching上所做的模式。
在程序的早期,我正在从url创建一个NSManagedObjectModel实例,它正在返回零。当我运行这个程序时,我后来得到的错误是“不能创建一个零模型的NSPersistentStoreCoordinator”。
附加是一个截图在一个断点后,我创建模型。我在这附近看过,并证实:
NSString路径匹配模型文件的名称("HistologyDataImporter")URLByAppendingPathComponent的扩展,但运行时模型仍然是零。为什么[[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL]还在返回零?

发布于 2015-03-20 16:50:26
因为你用错地方了。你所拥有的是:
NSString *path = @"HistologyDataImporter";
NSURL *modelURL = [NSURL fileURLWithPath:path isDirectory:NO];
moelURL = [modelURL URLByAppendingPathComponent:@"momd"];如果使用这样的相对路径调用fileURLWithPath:,则假定它是相对于当前工作目录的。您的代码没有设置工作目录,但是modelURL的值表明它位于Xcode的派生数据文件夹中。在从Xcode运行应用程序时,这并不奇怪,但模型文件不在该目录中。
您需要找出HistologyDataImporter.momd的位置,并确保modelURL确实指向该位置。如果将模型文件放在桌面上,则可以使用与desktopURL中相同的main(),并将模型文件名添加到其中。
https://stackoverflow.com/questions/29168822
复制相似问题