2013-09-23 29 views
0

我知道這個問題已被其他開發者也問過很多。帶有零模型錯誤的NSPersistentStoreCoordinator?

我正在使用CORE DATA。

上次運行的代碼工作正常,但今天當我建立和運行應用程序時,我發現這個錯誤。

終止應用程序由於未捕獲的異常「NSInvalidArgumentException」,原因是:

可能會來到我的代碼錯誤的一些錯誤「不能用零模型創建NSPersistentStoreCoordinator」 ......

下面是代碼看看...

- (NSManagedObjectContext *)managedObjectContext 
{ 
    if (_managedObjectContext != nil) { 
     return _managedObjectContext; 
    } 

    NSPersistentStoreCoordinator *coordinator = [self persistentStoreCoordinator]; 
    if (coordinator != nil) { 
     _managedObjectContext = [[NSManagedObjectContext alloc] init]; 
     [_managedObjectContext setPersistentStoreCoordinator:coordinator]; 
    } 
    return _managedObjectContext; 
} 

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

- (NSPersistentStoreCoordinator *)persistentStoreCoordinator 
{ 
    if (_persistentStoreCoordinator != nil) { 
     return _persistentStoreCoordinator; 
    } 

    NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"CrudWithInterface.sqlite"]; 

    NSError *error = nil; 
    _persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]]; 
    if (![_persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:nil error:&error]) { 

     NSLog(@"Unresolved error %@, %@", error, [error userInfo]); 
     abort(); 
    }  

    return _persistentStoreCoordinator; 
} 


- (NSURL *)applicationDocumentsDirectory 
{ 
    return [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject]; 
} 

回答

1

在你的managedObjectModel getter中放置一個斷點。該異常表明_managedObjectModel很可能是零。我懷疑modelURL也是零。

如果這兩件事情都是真的,請檢查以確保您的Core Data模型仍然是您正在構建的Target的一部分。

+0

對不起,我無法幫你解決這個問題。如果您需要iOS和XCode的一些學習資料,則可以使用大量優秀的在線資源。我強烈推薦Paul Hegarty來自斯坦福大學的課程。它在iTunesU上免費。 –

+0

非常感謝,我一定會訪問那個.. –

相關問題