2

我有一个来自 Xcode 3 的项目,我通过转换过程使其与 Xcode 4 兼容。在这个项目中,我所有的 NSManagedObject 子类都在一个名为“.xcdatamodeld”的组内。

如果我使用新属性更新数据模型中的实体,我希望该属性的方法在我的实体的 NSManagedObject 子类中可用。

在 Xcode 3 中,我会选择我想要重新生成的实体,然后选择 File -> New。这将替换 .xcdatamodeld 组中的相应类。

在 Xcode 4 中,它是相同的过程,除了生成的 NSManagedObject 子类将去任何地方,除了那个 .xcdatamodeld 组。此外,我无法从该组中删除任何文件。没有任何错误消息或通知说明原因。当我按下删除键时,它什么也没做。

我使用的解决方法是转到 Finder(或终端),删除旧类,然后将新生成的类移动到 .xcdatamodeld 目录。有没有我遗漏的新范式或其他什么?解决方法似乎不必要地乏味。

4

1 回答 1

2

看来“xcdatamodeld group with NSManagedObject subclass files under it”范式已从 Xcode 4 中删除。它在 Xcode 4 中的工作方式是数据模型作为文件节点存在并且 NSManagedObject 子类存在于项目中的不同组。我为完成 Xcode 3 项目的更新所做的是:

  1. 从项目中删除对数据模型的引用(仅引用)。

  2. 转到终端并将 .xcdatamodeld 目录下的所有 NSManagedObject 子类文件移动到我的源目录下的新目录。Finder 似乎阻止了对该目录的访问,但终端却没有。

  3. 在“将现有文件添加到项目”菜单项下将数据模型添加回项目。

  4. 将 NSManagedObject 子类文件添加回项目。

于 2011-10-26T23:41:40.137 回答