本节书摘来自华章出版社《Core Data应用开发实践指南》一书中的第3章,第3.7节,作者 (美)Tim Roadley,更多章节内容可以访问云栖社区“华章计算机”公众号查看
3.7 习题
请在所学内容的基础之上完成下列试验:
- 把当前模型版本设为Model 3,并运行应用程序。这次系统应该不会崩溃,因为它会自动推断数据的降级过程。请注意:系统之所以会自动推断,是因为我们刚才把NSInfer-MappingModelAutomaticallyOption重新启用了。但是在实际的程序开发中,为了把属性之间的映射关系处理好,需要配置名为Model4toModel3的映射模型。
- 查看Grocery-Dude.sqlite文件中的ZAMOUNT表,你会发现一个严重的问题:原来的数据哪儿去了?由于没配置映射模型,所以ZUNIT数据在降级的过程中丢失了!
- 把当前模型设为Model 4,并修改CoreDataHelper.m文件的loadStore方法,把useMigrationManager设为YES,以便重新启用迁移管理器。
- 运行应用程序,这次你又会目睹一遍手动迁移数据的过程,不过它运行得特别快,因为存储区里面没有数据。在继续学习下一章之前,请先把useMigrationManager设为NO。