如何在“源”中更改模型当前版本的xcdatamodeld

时间:2014-02-28 04:12:14

标签: ios core-data xcdatamodel

我正在开发iOS应用程序使用coredata。

我知道如何在“XCode”中更改模型当前版本的xcdatamodeld。但我可以在程序中更改它吗?

如果可以的话,请教我。

1 个答案:

答案 0 :(得分:0)

不,您无法更改当前版本。但你也不需要。

  1. 您可以按照@Adam。
  2. 的建议以编程方式创建模型
  3. 您可以使用-initWithContentsOfURL:上的NSManagedObjectModel方法选择要使用的模型。
  4. 加载当前版本只是一种迁移方便,不是必需的。

    更新

      

    谢谢你的回答。我有一个问题。如果我想在某些情况下选择当前版本,复制原始xcdatamodeld文件并在项目中放入两个xcdatamodeld文件,原始xcdatamodeld设置当前版本并复制xcdatamodeld设置另一个版本,我通过initWithContentsOfURL方法选择这些文件。这种方式可行吗?

    这是可能的,但不必要。当您将-initWithContentsOfURL指向momd时,它会自动选择最新版本的模型。如果将其指向mom文件,则会加载单个模型。由于mom文件位于momd目录中,因此您只能保留一个版本化模型,然后加载所需的任何版本的模型。当我手动完成所有迁移时,我经常这样做。

    mom是编译的xcdatamodel文件。 momd是已编译模型的目录,是编译xcdatamodeld包(也称为文件夹)的结果。

相关问题