2017-01-11 4 views
0

Ich habe den Kerndatenstack aufgebaut und ich versuchte, das Projekt zu testen und zu bauen. Allerdings erhielt ich den Fehler:Core Data Fehler --- NSManagedObjectModel Ausgabe

enter image description here

Nachdem ich die Forschung getan hat, könnte der potenzielle Fehler sein: die Modelldatei Name der Datei unterscheidet sich mit dem Namen in der Core Data-Stack. Aber es stürzt immer noch wie zuvor ab.

#pragma mark - Core Data stack 

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

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


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


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

NSURL *storeURL = [[self applicationDocumentsDirectory]  URLByAppendingPathComponent:@"RunMaster.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; 
} 

#pragma mark - Application's Documents directory 


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

enter image description here

+0

Ja, ich habe eine Datei namens RunMaster – Nan

+0

@DipankarDas gut, der Compiler-Fehler normalerweise, weil der Modell-Dateiname nicht mit dem Core-Daten-Stack übereinstimmt, aber ich überprüft immer und immer wieder, der Name ist abgestimmt – Nan

+1

sicherstellen, dass es in den Copy-Bundle Ressourcen ist. –

Antwort

0

Haben Sie Änderung auf Datenstruktur gemacht? neues Schema? Entität ?

für Schnelltest Anwendung deinstallieren und erneut installieren, wenn die Arbeit wieder

dann sollten Sie die Aktualisierung Ihrer Daten struct implementieren oder den Speichernamen ändern/Migration von Daten ...

Ihr Fehler deuten auf eine nil URL in modelURL

+0

Nein, ich habe keine Datenstruktur ändern und ich schnell die Anwendung testen, indem Sie die den Simulator zurückgesetzt. Es stürzt immer noch ab. – Nan