我创建了一个名为“MyObject”的核心数据实体。然后我重命名了实体“ThatObject”。但每次我创建一个NSManagedObject子类时,它仍然会将.h / .m文件创建为MyObject。
我接受“MyObject”文件并将它们重命名为“ThatObject”,一切正常,但每次改变实体属性时都必须这样做很烦人。
知道如何解决这个问题吗?
答案 0 :(得分:29)
重命名实体时,请确保在数据模型检查器中重命名Name
和Class
。在我的项目中,如果两者都被重命名,则使用新名称创建新的自动生成的NSManagedObject子类。
答案 1 :(得分:2)
对于未来的读者:注意模型版本,但是,如果您的应用程序已经发布,更新应用程序可能会破坏用户设备上的数据库架构,从而导致启动时崩溃。 Core Data可以自动查找针对此简单案例的迁移,您可以找到有关轻量级迁移的更多信息here。您基本上必须设置重命名ID ,以便CD知道重命名的内容,即使在中间跳过版本也是如此。