coreData报错:The model used to open the store is incompatib

报这个错误,说明你在运行这次程序时,更改了数据库中的表内容,比如更改了表属性,或者增加了一张表等。这个时候运行就会报这个错误。告诉你,用来创建数据库的模型和你用来打开数据库的模型是不相容的,也就是你动了这个model,动了数据库中表的内容。一般程序崩溃会在下面的函数崩溃:

– (NSPersistentStoreCoordinator *)persistentStoreCoordinator

{

_persistentStoreCoordinator !=nil) {

return_persistentStoreCoordinator;

}

applicationDocumentsDirectory

NSError *error = nil;

alloc

addPersistentStoreWithTypeURL:storeURL options:nilerror:&error]) {

NSLog(@"Unresolved error %@, %@", error, [erroruserInfo]);

abort();

}

return_persistentStoreCoordinator;

}

这个时候分两种情况:

1. 如果你不是在更新app,只是在简单的跑应用,那么把程序卸载重装就能解决问题。

2. 如果你是在更新app,那这个时候就有点难办了。

1)如果不要求保存数据库里的数据的话,,可以在上面的函数里面增加下面的代码:

standardUserDefaults

[[NSFileManagerdefaultManager] removeItemAtURL:storeURLerror

forKey

[[NSUserDefaultsstandardUserDefaults] synchronize];

}

其中用userDefaults控制一下。

2)如果要保存数据库里的数据,那么就要做数据迁移了,即把原数据库中的数据迁移出来,保存,然后再写入新数据库中。

人之相识,贵在相知;人之相知,贵在知心。

coreData报错:The model used to open the store is incompatib

相关文章:

你感兴趣的文章:

标签云: