2013-03-12 55 views
10

我的项目中有.xcdatamodeld文件,但它没有打开到数据模型中。.xcdatamodeld文件未在Xcode中显示数据模型结构

当我点击Xcode左侧边栏中的文件时,它将继续显示之前选定文件的内容,而不是显示数据模型。同样,当我右键单击文件并选择“打开为>”时,我无法选择将其显示为数据模型 - 无法显示。我检查了SVN仓库中的代码,甚至是仓库管理员也无法在他的工作区中看到它。

回答

9

这是我不时看到的症状。在至少一种情况下,这是由于Xcode在project.pbxproj文件的XCVersionGroup部分的path组件中存储了错误的路径,并且该节中有一个明显不必要的附加name组件。手动编辑这个文件可能是可能的,但我总是不愿意直接使用项目文件,幸运的是有一个更简单的方法。

  1. 导航到Finder中的.xcdatamodeld文件。最简单的方法是在.xcdatamodeld文件上单击/ Ctrl键并单击鼠标右键,然后选择“在Finder中显示”。
  2. 将文件从Finder拖放到Xcode项目的项目导航器中的当前引用的上方或下方,立即放到项目导航器中的.xcdatamodeld。
  3. 单击确定以接受导入,确保您将其添加到正确的目标。 (哪些目标是正确的将取决于您的项目。)
  4. 现在,您将在项目导航器中拥有对同一文件的两个引用。点击其中的现在将调出所需的数据模型结构。
  5. 删除对模型文件的重复引用。点击其中一个文件引用(似乎没有关系,但删除旧文件可能更好),然后按删除。
  6. 在出现的确认对话框中,一定要选择“删除参考”,并且不要将文件移动到垃圾箱。 (这两个引用指向在文件系统中只有一个实际的文件。移动到回收站从而将垃圾的唯一副本。)

现在留给你的只是一个参考的数据模型,它的作品。

似乎触发此错误的一件事是将.xcdatamodeld文件移动到磁盘上的文件结构中。即使在正确地将文件重新关联到新位置(即不再在侧边栏中显示为红色)之后,上面提到的Project文件的一部分也没有正确更新,因此该文件未被完全正确处理为一个Xcode数据模型文件。

1

.xcdatamodeld文件是一个包。它包含.xcdatamodel包,每个版本的模型包含一个。在每个.xcdatamodel里面都有一个contents文件,这是一个带有实体描述的XML。要查看软件包内部的内容,请在Finder中右键单击它们,然后选择显示软件包内容选项。

Show Package Contents in Finder

也许你没有在contents文件添加到您的存储库。这样,当您从中创建一个全新的工作副本时,您将无法看到您的模型。

+0

该软件包中还有另一个文件,其名称我现在还记不住(可能是布局),可能会被破坏。删除该文件并重新打开,Xcode应该创建一个带有可见元素的新布局。 – 2013-03-12 20:06:24

3

我在Xcode中遇到同样的问题6.3

为我工作,唯一的解决办法是移动.xcdatamodeld文件了我的“资源”的文件夹,进入项目的根文件夹在Xcode项目资源管理器(在文件系统上的位置并不重要)

我还是不确定为什么,只是在项目结构中移动文件的位置导致它在点击时根本不显示..但显然,至少在我的设置中,它不喜欢生活在Resources文件夹中。

+0

这实际上是问题......及其解决方案。但是,我发现了一种仍然有xcdatamodel ** d **的地方,可以满足你的任何需求:http://stackoverflow.com/questions/13728021/xcode-cant-edit-coredata-model/32435681#32435681 – 2015-09-07 09:50:36

4

由于某些黑暗的原因,有时Xcode需要将xcdatamodel 范围放在根文件夹中。 我写了一个答案here,解释了如何做到这一点,但也是一个解决方法,让这个文件在任何你想去的地方。

干杯!

1

我有一个Xcode 7.3.1类似的问题。

原来与数据模型包的配置方式有关。

我发现有一个嵌入式模型包嵌套在另一个中。让我们说一个名为FolderNodes.xcdatamodeld的顶级数据模型,其中包含另一个名称完全相同的名称... FolderNodes.xcdatamodeld。内部FolderNodes.xcdatamodeld是具有模型信息的实际内容文件。

我的解决方案是将嵌入式软件包FolderNodes.xcdatamodeld(编号2)拖入Xcode项目,而不是它的封闭文件夹。

Apple使用该软件包进行版本控制,但我认为与移动数据模型文件相关的逻辑以某种方式打破了创建冗余包装的原始软件包。

0

确保您的Version Editor未处于活动状态。

使Version Editor打开的结果是显示xml代码而不是Data Model。您也将无法在Project Navigator内的xcdatamodeld文件的上下文菜单中选择Data Model

2

我今天在Xcode8上遇到了这个问题。

我简单地通过将xcdatamodeld文件放在项目导航器(左窗格)中的任何组之外来解决它。只要我把它变成一个小组,我就不能再打开这个小家伙了。

+0

为我工作太。令人沮丧的是,这个问题也发生在新创建的文件中。 – charles 2017-02-22 12:21:58

0

也发生在XCode 8.3上。

对于我来说,将物理文件移动到不同的文件夹,然后删除原始参考,然后将其添加回相同的位置并重新建立参考即可完成这项工作。