我正在更新我的Core Data模型以包含更多实体和属性,并且在涉及关系和NSManagedObjectSubclasses时需要一些指导。
我已遵循此处的指导http://www.raywenderlich.com/27657/how-to-perform-a-lightweight-core-data-migration并成功设法添加我的应用的新模型版本,添加具有属性的新实体并设置与另一个实体的关系。我还成功更新了AppDelegate设置。
这很有效。但是,我需要为我的新实体生成一个NSManagedObject子类,并使用它的NSManagedObjectSubclass更新与另一个实体的关系。
我已经测试了我的应用程序并且它仍在处理数据,但是如果我为新实体生成新的NSmanagedObject子类并为与此新实体有关系的另一个实体重新生成NSManagedOBject子类,则赢得'是否要求我从型号不匹配的手机中删除应用程序?
我没有尝试过,因为我需要在进行更改之前对其进行测试,但我需要一些有关此问题的指导。
答案 0 :(得分:2)
迁移仅影响持久性存储,确保它与您的托管对象模型匹配。
您的NSManagedObject子类使用模型和持久存储,但它们不会影响它。
是的,您可以安全地继续下一步:确保更新NSManagedObject子类(以及应用程序的其他部分)以处理新更新的托管对象模型的结构。
但只是为了说清楚:如果再次更改模型(调整关系等),那么测试设备的数据库可能会变得不兼容,您可能需要重新开始迁移测试。 / p>
这就是我问你是否使用源代码管理的原因。您几乎肯定希望构建和安装以前版本的应用程序,以便反复测试迁移。