Xcode 4,核心数据模型版本 – 设置当前版本

我对如何在Xcode 4中执行以下function感到困惑,以便在创build版本模型后将模型设置为使用。

devise>数据模型>设置当前版本

  1. 点击顶级的.xcdatamodelId文件(其中有许多版本的.xcdatamodel作为子文件)。
  2. 确保Utilities sidepane是可见的(如果没有点击窗口右上angular的第三个“View”button)。
  3. 在Utilities sidepane中selectFile inspector(文件检查器)(左上angular的小纸片图标)
  4. 您将看到“版本控制核心数据模型”作为一个组,所以只需将“当前”下拉菜单更改为新版本即可。

在Xcode 4中,如果在select* .xcdatamodeld文件时只在文件检查器的“Versioned Core Data Model – Current”部分下看到数据模型的一个版本, 或者您的* .xcdatamodel文件的第二版本显示在Xcode项目导航器中的xcdatamodeld包之外,请阅读下面的内容。

要解决这个问题:

1)在项目导航器中右键单击,从Xcode中删除* .xcdatamodeld和* .xcdatamodel引用,并点击“删除”。

2)当Xcode提示时,单击仅删除引用 (非常重要)。

3)重新启动Xcode,以防有任何caching进行。

4)重新添加包含* .xcdatamodel文件的单个* .xcdatamodeld文件。

Xcode现在应该识别这些关系,并允许您在项目导航器中展开* .xcdatamodeld文件,以在父级xcdatamodeld包下方显示两个* .xcdatamodel文件,并在当前模型旁边显示绿色复选标记。 这也应该允许您在文件检查器中select数据模型的当前版本,而不是仅显示一个版本。

对于Xcode 4.2

  1. 点击YourModel.xcdatamodeld

  2. 使侧窗格可见

  3. 在“版本化的核心数据模型”下,select“当前下拉框”,select你的数据模型。

现在,绿色的勾号标记将移动到您当前的数据模型中。

在Xcode的帮助中search“当前版本”产生一个配方“设置一个托pipe对象模型的当前版本”,描述了如何做到这一点…

一个小题目,但如果你已经到了这个问题,以了解如何创build你的模型的第一个新版本(像我这样做):单击xcdatamodel文件>>菜单“编辑器”>>添加模型版本

这将启动模型的版本。

这工作对我来说: https : //developer.apple.com/library/mac/recipes/xcode_help-core_data_modeling_tool/Articles/setting_current_version.html

select核心数据模型版本

现在我的自动db模型迁移工作(在委托中有自动迁移代码)。

你也可以使用CoraData的setter方法。
只要做这样的事情…

在您的CustomCoreDataManager.m中

#import "ObjectiveRecord.h" 

并像这样调用init方法

 - (instancetype)init { self = [super init]; if (self) { [[CoreDataManager sharedManager] setModelName:@"YourModelName"]; } return self; }