2011-03-25 37 views
1

我改名为我的项目..一步一步我改名的所有目标,AppDelegate的类等等反正现在建立,但崩溃,因为它无法找到下面的代码的.momd :不能在xcode4 momb编辑xcdatamodeld

NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"MyApp" withExtension:@"momd"]; 

如何获得它'刷新'或再次建立这个momd文件?我已经阅读了各种可能的解决方案,其中包括在.xdatamodeld文件中添加一个版本,但是另外还有一个解决方案。

当我点击.xdatamodeld文件时,它不再打开编辑器。它什么都不做。右键点击给我零选项。

我试图删除文件xdatamodeld并创建一个新的,但它有同样的问题。当我按下它时,它不会打开编辑器。

当我创建一个全新的核心数据的Xcode项目模板,它打开编辑器,当我按下就可以了。我在这里做错了什么?

回答

2

我仍在使用的Xcode 3,但是当我双击.xdatamodeld文件,它只是打开的组织者。如果我双击一个.xdatamodel文件,它将启动该项目。这可能是因为xdatamodeld文件夹,而不是单个文件。这听起来像你的问题是,项目文件已经失去了你正在使用的妈妈的跟踪。

这里有一些注意事项我过去解决问题过程中取得:

  • 疑难解答质数据库访问 - 获得正确的妈妈:
  • 怀疑的是,managedObjectContext没有指向正确的数据模型的第一件事(或管理对象模型,“妈妈”)。 (事实上​​,你可能正在使用的类型:@“momd”,但它是一个已经失去了目标的妈妈。)
  • 在您的应用程序委托,寻找访问方法managedObjectModel(由Xcode中创建的,当你规定的核心数据存储在创建该项目)。在这个方法的断点处,在返回妈妈的线上。
  • 执行该程序,当它遇到断点时,转到调试器模型,然后键入“po”,然后键入正在返回的mom变量的名称。 (这是gdb的“打印对象”命令。)
  • 打印出的内容将包括“实体{”,后面跟着数据模型中实体的描述。如果大括号后面没有任何内容,则会返回一个空白妈妈 - 您没有访问正确的数据模型。
  • 如果在Xcode中单击xcdatamodel会按预期显示完整数据模型,那么它是否包含在xcdatamodeld中?这是一种捆绑器/路由器/路径文件,它可能已经迷失了方向。这样做:
    - 首先,是当前的xcdatamodel,一个带有绿色复选图标的第一个?如果没有,将其拖到第一个位置,然后再次测试该应用程序。
    - 在Finder中,在其他地方复制xcdatamodel以便妥善保管。
    - 在Finder和/或Xcode中摆脱xcdatamodeld(我不知道我在做这件事的顺序)。完成后,它不应该出现在Xcode中。
    - 从Finder中xcdatamodel(一个项目文件夹)拖动到Xcode的组&文件窗格中的项目,并选择进行复印项目的选项。
    - 选择xcdatamodel,Design> DataModel> AddModelVersion。现在你应该有一个新的xcdatamodeld文件。
    - 再次运行测试,在断点处执行gdb print object命令。希望你会得到一个很好的长打印输出,代表你的数据模型。
    - 将来,避免将xcdatamodel/d文件分组到Xcode中的文件夹中。这似乎混淆了事情。
  • 检查Finder中xcdatamodel/d文件的内容: 这些实际上是变相的文件夹,您将看到是否删除其扩展名。数据模型的内容是一个plist,你可以通过双击打开它。 如果你这样做,以后测试你的应用程序,并确保它仍然能够访问你的数据库。如果没有,请按照上述步骤操作。
0

我处于相同的状况,最后修好了。

在我的情况下,问题来自Xcode项目组属性:路径

检查具有xcdatamodeld文件的项目组的路径属性。

在我的情况,它是从xcdatamodeld文件确实存在不同,

和xcdatamodeld文件的路径为../Model/XX.xcdatamodeld(例如)

反正有没有问题,但总有一天我删除了作为组路径属性的目录。

因此,Xcode无法找到xcdatamodeld文件。我添加新的xcdatamodled文件,但这种情况重复。

检查您的xcdatamodeld文件是否确实存在于您的项目设置中。

0

我的解决方案是恢复到我的.xcdatamodeld的工作副本。然后,不是通过取景器或XCode中4的导航窗格中重新命名它,我选择在左侧导航窗格中的.xcdatamodeld文件和编辑.xcdatamodeld的组名右窗格中的XCode 4下顶部标题标识

当我在那里更改名称以匹配我的新项目名称时,XCode会自动为我更新文件系统上的文件名称。

我没有编辑路径属性为moon6pence建议。

3

我将.xcdatamodeld文件重新添加到我的项目中,并删除了旧的参考。现在再工作。