【发布时间】:2011-07-19 08:27:31
【问题描述】:
我对如何在 Xcode 4 中执行以下功能来设置模型以在创建版本化模型后使用感到困惑。
设计 > 数据模型 > 设置当前版本
【问题讨论】:
-
我希望每次我必须重新引用它时都能投票赞成。
我对如何在 Xcode 4 中执行以下功能来设置模型以在创建版本化模型后使用感到困惑。
设计 > 数据模型 > 设置当前版本
【问题讨论】:
【讨论】:
在 Xcode 4 中,当您选择 *.xcdatamodeld 文件时,如果在文件检查器的“版本化核心数据模型 - 当前”部分下仅看到一个版本的数据模型;或者您的 *.xcdatamodel 文件的第二个版本显示在 Xcode 的项目导航器中的 xcdatamodeld 包之外,请阅读下文。
解决这个问题:
1) 通过在项目导航器中右键单击它们并点击“删除”,从 Xcode 中删除 *.xcdatamodeld 和 *.xcdatamodel 引用。
2) 当 Xcode 提示时,点击 Remove References Only(非常重要)。
3) 重启 Xcode 以防发生任何缓存。
4) 重新添加包含两个 *.xcdatamodel 文件的单个 *.xcdatamodeld 文件。
Xcode 现在应该可以识别这些关系,并允许您在项目导航器中展开 *.xcdatamodeld 文件以显示父 xcdatamodeld 包下的两个 *.xcdatamodel 文件,同时在当前模型旁边显示一个绿色复选标记。这还应该允许您在文件检查器中选择数据模型的当前版本,而不是只显示一个版本。
【讨论】:
对于 Xcode 4.2
点击 YourModel.xcdatamodeld
使侧窗格可见
在“版本化核心数据模型”下,选择“当前下拉框”,选择您的数据模型。
现在绿色刻度线已移至您当前的数据模型。
【讨论】:
在 Xcode 的帮助中搜索“当前版本”会产生一个“设置托管对象模型的当前版本”配方,其中描述了如何执行此操作...
【讨论】:
有点跑题了,但是如果您为了了解如何创建模型的第一个新版本而遇到了这个问题(就像我所做的那样): 点击xcdatamodel文件>>菜单“编辑器”>>添加模型版本
这将启动模型的版本控制。
【讨论】:
【讨论】:
您还可以使用 CoraData 中的 setter 方法 ...
只要做这样的事情......
在您的 CustomCoreDataManager.m 中:
#import "ObjectiveRecord.h"
然后像这样调用init方法
- (instancetype)init {
self = [super init];
if (self) {
[[CoreDataManager sharedManager] setModelName:@"YourModelName"];
}
return self;
}
【讨论】: