Core Data应用开发实践指南
上QQ阅读APP看书,第一时间看更新

3.7 习题

请在所学内容的基础之上完成下列试验:

1.把当前模型版本设为Model 3,并运行应用程序。这次系统应该不会崩溃,因为它会自动推断数据的降级过程。请注意:系统之所以会自动推断,是因为我们刚才把NSInfer-MappingModelAutomaticallyOption重新启用了。但是在实际的程序开发中,为了把属性之间的映射关系处理好,需要配置名为Model4toModel3的映射模型。

2.查看Grocery-Dude.sqlite文件中的ZAMOUNT表,你会发现一个严重的问题:原来的数据哪儿去了?由于没配置映射模型,所以ZUNIT数据在降级的过程中丢失了!

3.把当前模型设为Model 4,并修改CoreDataHelper.m文件的loadStore方法,把useMigrationManager设为YES,以便重新启用迁移管理器。

4.运行应用程序,这次你又会目睹一遍手动迁移数据的过程,不过它运行得特别快,因为存储区里面没有数据。在继续学习下一章之前,请先把useMigrationManager设为NO。