我有一个今天的扩展程序使用与主应用程序相同的模型,我之前已经使用它,但现在它已不再有效。
我收到错误* Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Cannot create an NSPersistentStoreCoordinator with a nil model'
我做过的事情:
清理构建文件夹和清理项目
重新启动Xcode
重新启动的计算机
将“妈妈”改为“妈妈”
确保模型在目标成员资格中具有今天的扩展检查
我还能做什么?
- (NSManagedObjectModel *)managedObjectModel
{
if (_managedObjectModel != nil) {
return _managedObjectModel;
}
NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"Model" withExtension:@"momd"];
_managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
return _managedObjectModel;
}
答案 0 :(得分:0)
我有一个用于核心数据访问的共享容器(实际上是一个框架),我以不同的方式获取模型URL。也许您可以在此之后建模您的URL检索:
NSArray *frameworks = [NSBundle allFrameworks];
NSPredicate *dataStorePredicate =
[NSPredicate predicateWithFormat:@"bundlePath.lastPathComponent == %@",frameworkName];
NSArray *filteredFrameworks = [frameworks filteredArrayUsingPredicate:dataStorePredicate];
NSBundle *dataBundle = filteredFrameworks.lastObject;
NSURL *modelURL = [dataBundle URLForResource:projectName withExtension:@"momd"];