答案 0 :(得分:2)
我遇到了类似的情况,我的.xcdatamodel文件显示了不存在的元素和不知从哪里出现的箭头。
我通过完全从.xcdatamodel包移动布局文件然后在Xcode(v3.2.3)中重新打开项目来解决它。图表布局丢失了(没什么大不了的),但只有适当的实体出现在图表中。保存.xcdatamodel文件后,新的布局已在包中被替换。
答案 1 :(得分:2)
我发现在XCode 4.3.2中仍然存在类似的图形布局损坏。
我删除了一个实体,然后图形布局似乎显示了看似随机位置的箭头。
我只是关闭并重新打开每个实体的所有属性和关系,图形线似乎更新。
答案 2 :(得分:1)
我不知道有什么方法可以重建文件。
图表不作为单独的文件存在,而是动态地从模型文件本身生成。如果图表出现乱码,则模型文件本身可能已损坏。如果它似乎在代码中工作,它可能只是仍在构建产品中的已编译mom
文件的先前版本。
您可以在数据模型文件中查找。 xcdatamodel
“文件”实际上是捆绑包。如果从名称中删除xcdatamodel
扩展名,则会恢复为普通文件夹。如果版本化,您会在里面找到另一个xcdatamodel
。重命名那一个。在该文件夹中,您会找到两个名为elements
和layout
的文件。将它们重命名为elements.plist
和layout.plist
,您可以将它们打开为人类可读的plist文件。但是,我怀疑它们会提供很多信息,但有时你可以找到并修复腐败,如果它很明显,例如格式错误的xml。
答案 3 :(得分:0)
我遇到了一个类似的问题,其中Xcode决定将我的一半实体放在角落里。我们正在谈论微小的滚动条。我想也许如果我尝试打印它会重新布局文件,但我必须在处理8,000页后完成1%后取消打印预览。
我找到的解决方案是删除模型中的布局文件。为此,我右键单击Model.xcdatamodeld包并单击“显示包内容”,它给了我一个Model.xcdatamodel文件,我做了同样的事情,点击“显示包内容”。然后我将布局文件拖到桌面上(以防万一)并重新打开Xcode。这让我的所有实体都在彼此之上,允许我将它们拖到可读的排列中。
答案 4 :(得分:0)
对于带有单个XML文件的Xcode 7+,我发现关闭并打开"属性" graph元素的一部分导致Xcode更新并重绘图形的那一部分。
我一直为每个有问题的元素做这个,直到图表恢复正常。