核心数据实体重命名

时间:2013-03-11 16:37:45

标签: ios objective-c core-data

我创建了一个名为“MyObject”的核心数据实体。然后我重命名了实体“ThatObject”。但每次我创建一个NSManagedObject子类时,它仍然会将.h / .m文件创建为MyObject。

我接受“MyObject”文件并将它们重命名为“ThatObject”,一切正常,但每次改变实体属性时都必须这样做很烦人。

知道如何解决这个问题吗?

2 个答案:

答案 0 :(得分:29)

重命名实体时,请确保在数据模型检查器中重命名NameClass。在我的项目中,如果两者都被重命名,则使用新名称创建新的自动生成的NSManagedObject子类。

答案 1 :(得分:2)

对于未来的读者:注意模型版本,但是,如果您的应用程序已经发布,更新应用程序可能会破坏用户设备上的数据库架构,从而导致启动时崩溃。 Core Data可以自动查找针对此简单案例的迁移,您可以找到有关轻量级迁移的更多信息here。您基本上必须设置重命名ID ,以便CD知道重命名的内容,即使在中间跳过版本也是如此。