美文网首页
【iOS】Core Data迁移

【iOS】Core Data迁移

作者: FineFan | 来源:发表于2017-08-18 19:22 被阅读12次

    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

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

    相关文章

      网友评论

          本文标题:【iOS】Core Data迁移

          本文链接:https://www.haomeiwen.com/subject/xiaarxtx.html