【iOS】Core Data迁移

core data是苹果自带的一个轻量本地数据库,速度较快使用也比较方便,但是数据迁移需要多多注意

1、选中你的base xcdatamodel文件,Editor--Add Model Version

2、在右侧工具栏Model Version --current选择新版xcdatamodel文件

3、在新版xcdatamodel添加你想添加的entity或者attribute

4、[self persistentStoreCoordinator];

- (NSPersistentStoreCoordinator *)persistentStoreCoordinator

{

if (_persistentStoreCoordinator != nil) {

return _persistentStoreCoordinator;

}

_persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];

NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"MyCacheData.sqlite"];

NSDictionary * options = @{NSMigratePersistentStoresAutomaticallyOption:[NSNumber numberWithBool:YES],

NSInferMappingModelAutomaticallyOption:[NSNumber numberWithBool:YES]

[_persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:options error:&error]

return _persistentStoreCoordinator;

}

这一步很重要,如果没有自动迁移,会导致crash

5、Mapping Model

关于mapping其实可以选择删除原来类重新生成,也可以自己添加

如果使用了三方比如Magical Record等一些三方软件,可以直接[MappingModel类 MR_createInContext:context];然后对象使用set方法赋值,这个很方便

自己生成的话有Mapping Model类文件,选择映射的xcdatamodel文件。有自动映射和手动映射

推荐文章:blog.csdn.net/jasonblog/article/details/8528755

如果对您有帮助,请点个赞啊

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容