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


183

对于创建版本化模型后如何在Xcode 4中执行以下功能来设置要使用的模型,我感到困惑。

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


15
我希望每次需要重新引用它时都可以投票赞成。
erik

Answers:


329
  1. 单击顶层的.xcdatamodelId文件(该文件在其下具有多个.xcdatamodel版本作为子文件)。
  2. 确保“实用程序”侧窗格可见(如果未单击,请单击窗口右上方的第三个“查看”按钮)。
  3. 在“实用工具”窗格中,选择“文件”检查器(左上角的小纸图标)
  4. 您将看到“ Versioned Core Data Model”作为一个组,因此只需将“ Current”下拉列表更改为新版本即可。

2
很好,谢谢!还发现“查看”>“实用程序”>“文件检查器”下的同一窗格
Nate Potter,

仍然习惯Xcode 3和4之间的更改,谢谢!
克里斯(Chris)


15

在Xcode 4中,如果选择了* .xcdatamodeld文件,则在文件检查器的“ Versioned Core Data Model-Current”部分下仅看到一种版本的数据模型;或者您的* .xcdatamodel文件的第二个版本显示在Xcode的项目导航器中的xcdatamodeld捆绑包之外,请阅读以下内容。

要解决此问题:

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

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

3)重新启动Xcode,以防万一发生任何高速缓存。

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

Xcode现在应该可以识别关系,并允许您在项目导航器中展开* .xcdatamodeld文件,以在父xcdatamodeld捆绑包下显示两个* .xcdatamodel文件,并在当前模型旁边显示一个绿色的对勾。这还应该允许您在文件检查器中选择数据模型的当前版本,而不是仅显示一个版本。


从而使头部抓挠。
史蒂夫·马德森

我不小心将父级xcdatamodelid更改为应用程序捆绑包,并且此解决方案有所帮助!
morph85

4

对于Xcode 4.2

  1. 单击YourModel.xcdatamodeld

  2. 使侧窗格可见

  3. 在“版本核心数据模型”下,选择“当前下拉框”,选择您的数据模型。

现在,绿色的勾号已移动到当前数据模型。


在“对象库”中没有像“版本化核心数据模型”那样的东西。第一个答案(来自Mac_Cain13)是正确的,尽管我的模型不在Xcode中的.model之外,但似乎出现了一个奇怪的错误。
StuFF mc 2012年

@StuFFmc-检查我在下面的帖子,以解决Xcode的项目导航器中的xcdatamodeld捆绑包之外的xcdatamodel文件的问题。
安德鲁

2

在Xcode的帮助中搜索“当前版本”会产生一个配方“设置托管对象模型的当前版本”,其中描述了如何执行此操作...


1

有点偏离主题,但是如果您遇到了这个问题以便知道如何创建模型的第一个新版本(就像我一样):单击xcdatamodel文件>>菜单“编辑器” >>添加模型版本

这将启动模型的版本控制。



-1

您也可以使用CoraData的setter方法...
像这样做...

在您的CustomCoreDataManager.m中

#import "ObjectiveRecord.h"

然后像这样调用init方法

- (instancetype)init {

    self = [super init];

    if (self) {           
        [[CoreDataManager sharedManager] setModelName:@"YourModelName"];
    }

    return self;
}
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.