coreData报错:The model used to open the store is incompatible with the one used to create the store
来源:互联网 发布:手机屏幕特效软件 编辑:程序博客网 时间:2024/09/21 09:19
报这个错误,说明你在运行这次程序时,更改了数据库中的表内容,比如更改了表属性,或者增加了一张表等。这个时候运行就会报这个错误。告诉你,用来创建数据库的模型和你用来打开数据库的模型是不相容的,也就是你动了这个model,动了数据库中表的内容。一般程序崩溃会在下面的函数崩溃:
- (NSPersistentStoreCoordinator *)persistentStoreCoordinator
{
if (_persistentStoreCoordinator !=nil) {
return_persistentStoreCoordinator;
}
NSURL *storeURL = [[selfapplicationDocumentsDirectory] URLByAppendingPathComponent:@"storeName"];
NSError *error = nil;
_persistentStoreCoordinator = [[NSPersistentStoreCoordinatoralloc] initWithManagedObjectModel:[selfmanagedObjectModel]];
if (![_persistentStoreCoordinatoraddPersistentStoreWithType:NSSQLiteStoreTypeconfiguration:nilURL:storeURL options:nilerror:&error]) {
NSLog(@"Unresolved error %@, %@", error, [erroruserInfo]);
abort();
}
return_persistentStoreCoordinator;
}
这个时候分两种情况:
1. 如果你不是在更新app,只是在简单的跑应用,那么把程序卸载重装就能解决问题。
2. 如果你是在更新app,那这个时候就有点难办了。
1)如果不要求保存数据库里的数据的话,可以在上面的函数里面增加下面的代码:
if (![[NSUserDefaultsstandardUserDefaults] boolForKey:@"isDeleteDB"]) {
[[NSFileManagerdefaultManager] removeItemAtURL:storeURLerror:nil]; //删除数据库
[[NSUserDefaultsstandardUserDefaults] setBool:YESforKey:@"isDeleteDB"];
[[NSUserDefaultsstandardUserDefaults] synchronize];
}
其中用userDefaults控制一下。2)如果要保存数据库里的数据,那么就要做数据迁移了,即把原数据库中的数据迁移出来,保存,然后再写入新数据库中。
- coreData报错:The model used to open the store is incompatible with the one used to create the store
- CoreData报错:The model used to open the store is incompatible with the one used to create the store
- coreData-reason = "The model used to open the store is incompatible with the one used to create the
- The model used to open the store is incompatible with the one used to create the store错误
- The model used to open the store is incompatible with the one used to create the store
- The model used to open the store is incompatible with the one used to create the store
- The model used to open the store is incompatible with the one used to create the store
- CoreDataErrorThe model used to open the store is incompatible with the one used to create the store
- Core Data异常: model used to open the store is incompatible with the one used to create the store
- xcode 编译报错The identity used to sign the executable is no longer valid”
- 真机调试报错:The identity used to sign the executable is no longer valid
- 打开word中的excel object进行编辑的时候报错:The program used to create this object is Excel.
- 131.Which naming method uses the tnsnames.ora file to store the connect descriptor used by the clien
- 解决gradle升级报错 This version of Android Studio is incompatible with the Gradle Plugin used
- Android Studio报错:This version of Android Studio is incompatible with the Gradle Plugin used处理
- Xcode报The identity used to sign the executable is no longer valid
- webform报错:The HTTP verb POST used to access path * is not allow的解决办法
- This version of android studio is incompatible with the gradle version used.Try disabling the instan
- 大型网站架构改进历程:存储的瓶颈(下)
- Tomcat的JVM经常挂掉,根据hs_err_pid23224.log这种日志文件,也没能发现具体是什么原因导致的
- C++学习 STL之三:deque用法详解
- 多线程中不可以使用Messagebox
- ibatis- 批量插入(对象转map)
- coreData报错:The model used to open the store is incompatible with the one used to create the store
- HTML 表单标签
- ArcGlobe控件加载与保存文档
- C++学习 STL之四:list用法详解
- UVa #1592 Database (例题5-9)
- NetBeans IDE 与 MySQL 5.6连接
- java的NIO包中ByteBuffer类的clear(),flip(),rewind()方法的意思
- dynamic test our NPAPI plugins
- ios中常用的遍历运算方法比较