我正在使用Xcode 4.2,而我正在尝试使用Core Data。单击.xcdatamodeld文件后,我看到一个奇怪的视图,而不是数据模型编辑器视图。
我重新安装了Xcode 4.2,甚至从头开始创建了一个启动Core Data的启动项目,但问题仍然存在。当我使用新文件创建数据模型时 - >数据模型。它未被识别为DataModel。 Ctrl +单击 - > “打开为”仅显示“预览”选项。我将我的基本项目与在不同机器上创建的项目进行了比较(一切正常)。目录差异显示:
Foos.xcdatamodeld文件放在项目构建阶段的“复制包资源”部分下,而不是在“编译源”部分下。我将此文件移至“编译源”部分,但数据模型编辑器仍然无法显示。
工作项目中的Foos / Foos.xcdatamodeld / .xccurrentversion文件看起来像
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>_XCCurrentVersionName</key>
<string>Foos.xcdatamodel</string>
</dict>
</plist>
虽然在非功能性的一个
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
</dict>
</plist>
/* Begin XCVersionGroup section */
831B12C114A7F73600524A33 /* Foos.xcdatamodeld */ = {
isa = XCVersionGroup;
children = (
831B12C214A7F73600524A33 /* Foos.xcdatamodel */,
);
currentVersion = 831B12C214A7F73600524A33 /* Foos.xcdatamodel */;
path = Foos.xcdatamodeld;
sourceTree = "";
versionGroupType = wrapper.xcdatamodel;
};
/* End XCVersionGroup section */
虽然破碎的人没有这个条目。
我把我的两台机器比较/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates的目录和模板是相同的。
所以我想知道Xcode的哪个部分导致了我的主要开发机器上面的差异。关于要尝试的事情或可能导致此问题的任何建议?
答案 0 :(得分:6)
我遇到了类似的问题。问题是项目目录结构以及它在XCode中的配置方式。
此处有更多详情:XCode Cant' Edit CoreData Model
答案 1 :(得分:2)
我也碰到了这个。
我终于能够通过在我的项目中打开.xcdatamodeld并从 Versioned Core更改文件类型(在文件检查器中)来获取xcode 4.6.3以恢复交互式编辑器数据模型到核心数据模型。我之后能够将其更改回版本化核心数据模型,并且事情继续有效。
答案 2 :(得分:0)
我遇到了同样的问题,但是通过在我的Mac上创建另一个用户帐户,我能够使用Core Data创建一个项目,编辑器正常打开。看来我的用户个人资料已损坏,无法通过重新安装Xcode解决。
答案 3 :(得分:0)
创建新数据模型时,请转到编辑器&gt;添加模型版本
为我修好了! :)
答案 4 :(得分:0)
我通过打开xcdatamodeld的包内容解决了这个问题,使用相同的名称拖出文件并使用它来代替,感谢这个answer。