核心数据实体重命名
Posted
技术标签:
【中文标题】核心数据实体重命名【英文标题】:Core Data Entity rename 【发布时间】:2013-03-11 16:37:45 【问题描述】:我创建了一个名为“MyObject”的核心数据实体。然后我将实体重命名为“ThatObject”。但是每次我创建一个 NSManagedObject 子类时,它仍然会创建 .h/.m 文件作为 MyObject。
我将“MyObject”文件重命名为“ThatObject”,一切正常,但每次更改实体属性时都必须这样做,这很烦人。
知道如何解决这个问题吗?
【问题讨论】:
您的模型中是否正在进行任何版本控制? 我不知道。 【参考方案1】:重命名实体时,请确保在数据模型检查器中同时重命名 Name
和 Class
。在我的项目中,如果两者都被重命名,则新的自动生成的 NSManagedObject 子类将使用新名称创建。
【讨论】:
哈!在“配置”下,它列出了实体和类。该类仍设置为“MyObject”。谢谢!【参考方案2】:对于未来的读者:请注意模型版本,如果您的应用已经发布,更新应用可能会破坏用户设备上的数据库架构,从而导致启动时崩溃。 Core Data 可以自动为这个简单的案例找到一个迁移,你可以找到更多关于轻量级迁移的信息here。您基本上必须设置重命名 ID,以便 CD 知道什么被重命名为什么,即使在两者之间跳过版本。
【讨论】:
以上是关于核心数据实体重命名的主要内容,如果未能解决你的问题,请参考以下文章