我有一个来自Xcode 3的项目,我通过转换过程使其与Xcode 4兼容。在这个项目中,我的所有NSManagedObject子类都在一个名为“.xcdatamodeld”的组中。
如果我使用new属性更新数据模型中的实体,我希望该属性的方法在我的实体的NSManagedObject子类中可用。
在Xcode 3中,我会选择我想要重新生成的实体,并选择File - >新。这将替换.xcdatamodeld组中的相应类。
在Xcode 4中,它是相同的过程,除了生成的NSManagedObject子类将去除除.xcdatamodeld组之外的任何地方。此外,我无法从该组中删除任何文件。没有任何错误消息或通知告诉原因。当我按下删除键时,它什么也没做。
我使用的解决方法是转到Finder(或终端),删除旧类,然后将新生成的类移动到.xcdatamodeld目录。是否有一种我缺少的新范例?解决方法似乎不必要地繁琐。
答案 0 :(得分:2)
从Xcode 4开始,“xcdatamodeld group with NSManagedObject子类文件”范例似乎已被删除。它在Xcode 4中的工作方式是数据模型作为文件节点存在,NSManagedObject子类存在完全住在项目的另一个小组中。我为完成Xcode 3项目的更新所做的是:
从项目中删除对数据模型的引用(仅引用)。
转到终端并移动.xcdatamodeld下的所有NSManagedObject子类文件 目录到我的源目录下的新目录。 Finder似乎阻止访问目录,但终端没有。
将数据模型添加回“将现有文件添加到项目”菜单项下的项目。
将NSManagedObject子类文件添加回项目。