核心数据错误--- NSManagedObjectModel问题

时间:2017-01-11 08:44:24

标签: ios objective-c core-data

我已经设置了核心数据堆栈,我尝试测试并构建项目。但是,我收到错误:

enter image description here

在我进行研究之后,潜在的错误可能是:文件的模型文件的名称与核心数据堆栈中的名称不同。但它仍然像以前一样崩溃。

#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

1 个答案:

答案 0 :(得分:0)

您是否对数据结构进行了更改?新方案?实体?

用于快速测试卸载应用程序,如果再次工作,则再次安装

然后你应该实现数据结构的更新或更改存储名称/迁移数据......

您的错误建议使用modelURL中的nil URL