我正在更新我的核心数据模型,以包含更多的实体和属性,并且在关系和NSManagedObjectSubclasses方面需要一些指导。
我遵循了这里的指导,http://www.raywenderlich.com/27657/how-to-perform-a-lightweight-core-data-migration并成功地添加了我的应用程序的新模型版本,添加了一个带有属性的新实体,并建立了与另一个实体的关系。我还成功地更新了AppDelegate设置。
效果很好。但是,我需要为我的新实体生成一个NSManagedObject子类,并用它的NSManagedObjectSubclass更新与另一个实体的关系。
我已经测试了我的应用程序,它仍然在处理数据,但如果我为新实体生成一个新的NSmanagedObject子类,并为与这个新实体有关系的另一个实体重新生成NSManagedOBject子类,这难道不要求我从手机中删除与模型不匹配的应用程序吗?
我没有尝试它,因为我需要在进行更改之前测试它,但我需要在这个问题上提供一些指导。
发布于 2014-03-06 21:39:45
迁移只影响持久存储,确保它与托管对象模型匹配。
您的NSManagedObject子类使用模型和持久存储,但它们不影响它。
因此,您可以安全地继续下一步:确保更新NSManagedObject子类(以及应用程序的其他部分)以处理新更新的托管对象模型的结构。
但是要明确一点:如果您再次更改模型(调整关系等),那么您的测试设备的数据库可能会变得不兼容,您可能需要重新开始迁移测试。
这就是为什么我问您是否使用源代码管理。您几乎肯定希望构建和安装以前版本的应用程序,这样您就可以反复测试迁移。
https://stackoverflow.com/questions/22235623
复制相似问题