2015-05-18 45 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"];