核心数据自动迁移不会在我的新模型中创建新实体

时间:2012-02-05 04:30:55

标签: core-data entity new-operator null core-data-migration

我制作了我的核心数据模型的新版本,其中包括一个具有一个属性“type”的新实体“Test”。 轻量级迁移工作没有错误,但我注意到新实体未在数据库中创建。当获取这个新实体“Test”时,结果为零。我将属性“type”设置为非可选,默认值为1,因为我预计迁移将使用此默认值创建新实体。但事实并非如此。所以我的问题是:这是预期的行为吗?在核心数据迁移的情况下,新实体未创建但设置为nil?或者如果我错过了一些步骤,如果新模型与新实体“Test”和现有实体之间存在关系,会发生什么?感谢。

1 个答案:

答案 0 :(得分:0)

您需要使用例如 - [NSEntityDescription insertNewObjectForEntityName:...]创建此实体的对象。只需在模型中使用实体就不会创建任何对象。

您可以在迁移结束时执行此操作,或者在启动时懒惰(如果您对此实体的对象进行提取但无法找到它)。