Core Data 自动迁移不会在我的新模型中创建新实体
Posted
技术标签:
【中文标题】Core Data 自动迁移不会在我的新模型中创建新实体【英文标题】:Core Data automatic migration doesn't create the new entity in my new model 【发布时间】:2012-02-05 04:30:55 【问题描述】:我制作了一个新版本的核心数据模型,其中包括一个新实体“测试”和一个属性“类型”。 轻量级迁移没有错误,但我注意到新实体没有在数据库中创建。获取这个新实体 "Test" 时,结果为零。我将属性“type”设置为非可选,默认值为 1,因为我预计迁移将使用此默认值创建新实体。但它没有。所以我的问题是:这是预期的行为吗?在核心数据迁移的情况下,没有创建新实体而是设置为nil?或者如果我遗漏了一些步骤,如果新模型在新实体“测试”和现有实体之间存在关系会发生什么?谢谢。
【问题讨论】:
【参考方案1】:您需要创建该实体的对象,例如使用 -[NSEntityDescription insertNewObjectForEntityName:...]。简单地将实体放在模型中不会创建任何对象。
您可以在迁移结束时执行此操作,或者在启动时懒惰地执行此操作(如果您获取此实体的对象但找不到它)。
【讨论】:
以上是关于Core Data 自动迁移不会在我的新模型中创建新实体的主要内容,如果未能解决你的问题,请参考以下文章