2015-05-18 31 views
0

我有一个今天的扩展使用相同的模型作为主要的应用程序,我有它的工作之前,但现在它不再有效。无法创建NIL模型的NSPersistentStoreCoordinator今天的扩展

我得到的错误* Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Cannot create an NSPersistentStoreCoordinator with a nil model'

我所做的事情:

清理build文件夹和清理项目

重启动的Xcode

计算机重新启动后

更改 “momd” 到“妈妈“

确保该模型在目标会员资格中有今天的延期检查

我还能做什么?

- (NSManagedObjectModel *)managedObjectModel 
{ 
    if (_managedObjectModel != nil) { 
     return _managedObjectModel; 
    } 
    NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"Model" withExtension:@"momd"]; 
    _managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL]; 
    return _managedObjectModel; 
} 

回答

0

我有一个核心数据访问的共享容器(实际上是一个框架),我以不同的方式获得模型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"];