大佬教程收集整理的这篇文章主要介绍了CoreData整理(四)——数据迁移和其他问题,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在做app版本的迭代过程中,难免会遇到要修改.xcdatamodeld文件,比如新增或删除一个实体、增加或删除一个原有实体的属性等。如果你没有设置数据迁移的话,app更新后原有的数据将会被清空,这当然是不行的,所以此时需要进行数据的迁移操作。
core data可以设置轻量级的数据迁移,系统自动会帮你分析差异,进行映射,这种方式只适用于简单的增删实体或是增删属性等操作。除此之外还有一种相当复杂的自定义数据迁移,一般来说不会用到,本文不打算进行说明。
在PSC的实例化方法中添加自动迁移的相关设置。 @H_607_36@
如果你使用了MagicalRecord,只需要将之前初始化CoreDataStack的方法setupCoreDataStack 修改成使用 setupAutoMigratingCoreDataStack进行初始化。
@H_607_36@
2.添加新的CoreData版本,并切换到新版本
选中.scdatamodeld文件后,依次点击菜单项中的Editor->Add Model Version... @H_607_36@
此时.xcdatatmodeld文件就可以展开看到其包含的多个版本 @H_607_36@
根据下图所示的步骤即可将当前版本切换至你想要的版本 @H_607_36@
ps:
通过Editor->Create NsmanageObject Sublass...创建出MO类,报如下错误: @H_607_36@
@L_616_34@:
自Xcode 8起,Core Data中Entity的NsmanagedObject Subclass默认由Xcode自动生成,并且无法在Project Navigator中看到,使用时可以直接#import导入。
如果仍要使用“Create NsmanagedObject Subclass”生成文件的开发方式,可以找到Entity的“Codegen”选项(位于 Data Model inspector 中),将“Codegen”默认的“Class DeFinition”改为“Manual/None”,再使用“Create NsmanagedObject Subclass”创建出来就没有问题了。
@H_607_36@
CoreData整理(一)——基本概念与简单使用
CoreData整理(二)——多线程方案
CoreData整理(三)——MagicalRecord的使用
@L_404_4@
以上是大佬教程为你收集整理的CoreData整理(四)——数据迁移和其他问题全部内容,希望文章能够帮你解决CoreData整理(四)——数据迁移和其他问题所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。