this post is featured

coredata版本迁移

工作笔记

####场景 使用coredata,增加一个字段,或者增加一个类,不是简单的增加就可以的,要做coredata的版本迁移。即使是增加一个字段都要做版本迁移。用起来怪麻烦的,项目组之前有人增加了一个字段,没有做版本迁移,导致登录后出现记不住密码的问题,原因就是coredata数据库挂掉了。现在记下来,防止出现二次错误。

####步骤

  1. 找到对应的xcdatamodelId文件

  2. 新增model文件,并设置成当前的Model Version

  3. 在新的model文件中对应的类中增加新的字段

  4. 如果原来的类中有自己添加的代码,需要把原来的类copy一份,然后再重新生成实体。生成新的实体后,把原来备份的代码拷贝到新生成的类中,并把新生成类中多的字段代码复制到合成的类中。简单一点说就是,保证原来和新增的代码都要有。

  5. 新建mapping文件 注意第一次点next后,选择的是前面的基问题就,第二次选的是之前新建的model文件,就是对应关系

  6. 如果代码中有实体的逻辑关系,还要特殊处理一下。最后重新编译运行。步骤不能变,尤其是第二步和第三步,要不然总是不对