美文网首页ios-存储
iOS CoreData Xcode8 数据库升级迁移 (Obj

iOS CoreData Xcode8 数据库升级迁移 (Obj

作者: Yuency | 来源:发表于2017-09-12 16:12 被阅读50次

    前言

    项目升级 项目以前使用的是 CoreData, 现在表里面需要新增加一个字段, 或许不仅仅是增加字段这么简单.

    我们先简单玩一下数据库

    第 1 步

    新建一个工程,这里我先不勾选 CoreData 选项,进入工程之后再添加.


    1.png

    第 2 步

    2.png

    第 3 步

    3.png

    第 4 步

    4.png

    第 5 步

    这时候生成完了的类直接编译是报错的


    5.png

    第 6 步

    解决报错, 然后重新生成一下这些类


    6.png

    第 7 步

    重新生成之后再编译


    7.png

    第 8 步

    我发现现在生成的类的名字和之前使用 Xcode7生成的不一样啊. 去百度了一下. 这个是可以改名字的. 直接改文件名就可以, 同时记住改里面的 #import ""

    8.png

    第 9 步

    在 viewDidLoad 里面添加如下代码

    然后 Command + R, 就可以愉快玩耍了


    9.png

    我们再简单升级一下数据库

    第 1 步

    App迎来了下一个版本,演员表里面的演员新增了一个字段 "info", 这时候需要做升级处理,否则可能造成崩溃.


    1.升级.png

    第 2 步

    2.png

    第 3 步

    在右侧窗口选择数据库的版本


    3.png

    第 4 步

    在新数据库模型的实体里面增加属性


    4.png

    第 5 步

    把原来的生成的类都删掉,然后老方法重新生成一次.


    5.png

    第 6 步

    生成完了之后可以改个名字


    6.png

    第 7 步

    添加一个字典,为了配合数据库升级,然后在新字段中写点数据,如下图:
    Command + R, 再玩一次


    7.png

    第 8 步

    效果图:


    8.png

    关键代码:

    NSDictionary *optionsDictionary = @{NSMigratePersistentStoresAutomaticallyOption: @YES, NSInferMappingModelAutomaticallyOption: @YES};

    讲真,MarkDown 里面插入代码段很难用.

    后续

    附上我曾经拜访过的文章
    iOS CoreData介绍和使用(以及一些注意事项)

    Core Data入门

    (Xcode 8.1 )CoreData 的使用

    iOS CoreData版本升级和数据库迁移

    相关文章

      网友评论

        本文标题:iOS CoreData Xcode8 数据库升级迁移 (Obj

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