Xcode数据模型编辑器未出现

10
我正在使用Xcode 4.2,尝试使用Core Data。当我点击.xcdatamodeld文件时,我看到一个奇怪的视图,而不是数据模型编辑器视图。

Data Model Editor

我已经重新安装了Xcode 4.2,并使用启动器项目启用了Core Data,但问题仍然存在。当我使用新文件-->数据模型创建数据模型时,它没有被识别为数据模型。Ctrl+单击-->'打开为'仅显示“预览”选项。我将我的基本项目与在另一台机器上创建的项目进行了比较(在那里一切都正常)。目录差异显示:
  1. Foos.xcdatamodeld文件被放置在项目的Build Phase的“Copy Bundle Resources”部分而不是“Compile Sources”部分。我将此文件移动到“Compile Sources”部分,但数据模型编辑器仍未显示。
  2. 工作项目中的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>
  • 我注意到的唯一区别是,工作版本在project.pbxproj文件中有以下内容
  • 
    /* 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的哪个部分导致了上述差异在我的主要开发机器上。有什么建议或可能导致此问题的原因吗?


    你能解决这个问题吗?我也无法打开一个CoreData模型文件。 - zambono
    很遗憾,不是这样的。我使用我的另一台Mac笔记本电脑创建了初始模型,并将其复制到我的主要开发机器上,这个可以正常打开。 - Sanjiv Jivan
    我基本上不得不创建一个新项目并复制模型。 - zambono
    当我添加一个包含模型的文件夹引用时,遇到了同样的问题。我通过单独添加xcdatamodeld文件来解决这个问题。也许这与版本控制有关,但除了删除对xcdatamodeld文件的引用并单独添加它之外,没有任何帮助。 - MANIAK_dobrii
    如果将文件类型明确更改为版本化的核心数据模型(而不是默认设置),是否有帮助?(我曾经遇到过类似的.nib/.xib文件问题,必须明确设置Interface Builder的文件类型,否则它们会显示为XML类型代码。) - Freney
    5个回答

    6
    我遇到了类似的问题。问题出在项目的目录结构以及在XCode中的配置上。
    更多详细信息请看这里:XCode无法编辑CoreData模型

    1

    我也遇到了这个问题。

    最终,我通过打开项目中的.xcdatamodeld文件并将文件检查器中的文件类型有版本的Core Data模型更改为Core Data模型,才成功恢复了交互式编辑器。稍后,我又将其更改回有版本的Core Data模型,一切都正常工作。


    0

    创建新的数据模型时,转到编辑器 > 添加模型版本

    这对我有用!:)


    0

    我通过打开xcdatamodeld包内容,将内部具有相同名称的文件拖出来并使用它而解决了问题,感谢答案


    0

    我曾经遇到同样的问题,但是通过在我的 Mac 上创建另一个用户帐户,我能够创建一个具有 Core Data 的项目,其中编辑器可以正常打开。似乎我的用户配置文件已经损坏,重新安装 Xcode 也无法解决这个问题。


    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接