2010-07-26 48 views
2

Xcode在处理核心数据模型时可能会出错,并且已损坏代表我的模型的图表。模型本身看起来还不错,但是有没有人知道让Xcode重新生成图表布局的方法?如何重建CoreData模型的图表

回答

1

我不知道有什么方法来重建文件。

这些图不是作为单独的文件存在,而是从模型文件本身即时生成的。如果图表出现乱码,那么模型文件本身可能已损坏。如果它看起来在代码中起作用,它可能仅仅是编译后的mom文件仍在构建产品中的以前版本。

您可以在数据模型文件中查找。 xcdatamodel“文件”实际上是捆绑的。如果从名称中删除xcdatamodel扩展名,它们将恢复为普通文件夹。如果版本化,您会在里面找到另一个xcdatamodel。重命名那一个。在该文件夹中,您将找到两个文件,分别为elementslayout。将它们重命名为elements.plistlayout.plist,并且可以将它们作为人可读的plist文件打开。但是,我怀疑他们会提供很多信息,但有时候你可以找到并修复腐败,如果它很明显,例如格式错误的XML。

+0

是的,我打开了xcdatamodel包,发现了元素和布局。将它们转换为plists是一个有趣的选项。 模型绝对好。所有模型元素都显示在浏览器和属性窗格中,但该图并不反映模型的内容。 不管。显然,苹果公司的员工在发布之前需要在Xcode 4中对建模工具进行一些工作。我暂时切换回3.2并重建模型。我很惊讶没有一个内置的重建机制来让图回到同步。 – DougC 2010-07-28 09:09:55

+1

确保你提交了一个错误报告。这就是为什么他们发布这些测试版。 – TechZen 2010-07-28 19:31:43

+0

在Xcode 7中,这成为一个名为“contents”的XML文件。 – adib 2016-01-27 05:16:14

2

我遇到了类似的情况,我的.xcdatamodel文件显示了不存在的元素以及从哪里冒出的箭头。

我通过从.xcdatamodel包中完全移动布局文件然后在Xcode(v3.2.3)中重新打开项目来解决它。图布局丢失了(没什么大不了的),但只有适当的实体出现在图中。一旦我保存了.xcdatamodel文件,新的布局就被替换成了包。

+0

感谢您的提示。目前我已经放弃了XCode 4 Preview 2,因为它似乎还没有准备好黄金时段,但是如果我再次遇到这种情况,我会尝试这种方法。 – DougC 2010-08-26 10:24:50

0

我遇到了类似的问题,Xcode决定把我的一半实体放在角落里。我们正在讨论小型滚动条。我想也许如果我尝试打印它,它会重新布局文件,但是在处理8,000页之后,我必须在打印预览1%后取消打印预览。

我发现的解决方案是删除模型中的布局文件。要做到这一点,我只需右键单击Model.xcdatamodeld包,然后单击“显示包内容”,这给了我一个Model.xcdatamodel文件,我做了同样的事情,点击“显示包内容”。然后我将布局文件拖到我的桌面(以防万一)并重新打开Xcode。这给了我所有的实体,让我把它们拖到一个可读的安排。

2

我在XCode 4.3.2中发现了一个类似的图形布局腐败现象。

我删除了一个实体,然后图形布局似乎显示随机地方看起来箭头。

我只是关闭并重新打开每个实体的所有属性和关系,并且图线似乎更新。

0

对于具有单个XML文件的Xcode 7+,我发现关闭并打开图元素的“属性”部分会导致Xcode更新并重绘该图的该部分。

我一直这样做,为每个有问题的元素,直到图表恢复正常。