当CoreData中的Entity,Property或者Relationship发生改变以后,默认情况下面,在尝试调用CoreData的时候,程序会异常退出。
怎样开启自动迁移的功能?分三步
1.在App delegate类里修改persistentStoreCoordinator方法
- - (NSPersistentStoreCoordinator *)persistentStoreCoordinator {
- if (__persistentStoreCoordinator != nil) {
- return __persistentStoreCoordinator;
- }
-
- NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"WorkXP.sqlite"];
-
- NSError *error = nil;
- __persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];
-
-
// handle db upgrade
- NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
- [NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,
- [NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption, nil];
-
- if (![__persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:options error:&error]) {
-
// Handle error
- }
-
- return __persistentStoreCoordinator;
- }
2. 创建新版本并选择当前active模型版本,
xcode 4里,创建新模型是在Editor里的Add Model Verison,
要选择当前使用的数据模型版本,在文件导航中,先选中appname.xcdatamodeld这个,然后在右侧属性栏中Versiond Core Data Model中选择Current的模型版本。
3.OK了,再次运行,App可以访问新版本的coredata数据库模型了。
分享到:
相关推荐
包含了CoreData得基本用法,版本迁移
CoreData入门级程序 不看后悔
本资源为本人文章 “iOS CoreData数据迁移” 操作底板,可以下载下来参照博客进行学习数据迁移
用Swift Breeze编写的Breeze轻量级CoreData管理器从MagicalRecord和Nimble Lightweight中都获得了很多提示,并且易于设置并使用1行代码在数据库iCloud中查找第一个/任何对象。用Breeze用Breeze编写的Breeze轻量级...
CoreData简单使用dome,CoreData简单使用dome,CoreData简单使用dome
牧马人CDWrangler 是一个 CoreData 管理器,它将执行模型的轻量级和手动迁移。 CDWrangler 需要 ARC。 在 iOS 8.1 上测试。用法 // Migrationif ([[CDWrangler sharedWrangler ] isMigrationNeeded ]) { // The key ...
CoreDataMate 是一个轻量级的 CoreData 助手。 它为您提供了对 CoreData 的所有控制,但可以帮助您管理它。 安装 CoreDataMate 可通过,要安装它,只需添加到您的 Podfile 中: pod "CoreDataMate" 用 设置 在应用...
coreData数据库操作!~有需要的盆友可以看一下
示例演示CoreData如何实现添加、删除、查询功能
coredata是iOS系统提供用于对象化管理数据并且持久化的框架,较于FMDB,coredata的优势:第一是CoreData作为苹果提供的原生框架,在内存方法比SQLite有性能上的优势。第二是CoreData操作数据不需要使用SQLite代码,...
CoreData 数据存储
针对CoreData的一个简单封装,可实现基本的插入,删除,查询,更新的功能。
代码介绍了coreData简单实现sqlite的一些添加 删除 查找功能
本demo是数据持久化的一种CoreData,对CoreData进行了封装,实现了增删改查
高清正版 objc中国 CoreData
iOS研发中数据缓存coreData的使用
iso持久话存储,数据库,CoreData的介绍
Sqlite2CoreData 是一个命令行工具,用于将 Sqlite 数据库迁移到与 Core Data 兼容的数据库。 它生成可以导入 Mac/iOS 项目并与 Core Data 一起使用的 Datamodel 文件和 Core Data Sqlite 文件。 该工具的主要目的是...
coreData的使用教程,引擎下,有一个带有read属性的Article实体。把所有条目标记为已读,程序需要加载这个feed的所有文章(可能通过一对多的关系),然后设置read属性为YES。 大部分情况下这样没关系。但是设想那个...
CoreData 同步在ICloud Demo ID 需要自己改