Xcode NSManagedObject 子类自动生成以覆盖单独组中的现有文件

Posted

技术标签:

【中文标题】Xcode NSManagedObject 子类自动生成以覆盖单独组中的现有文件【英文标题】:Xcode NSManagedObject subclass auto-generation to overwrite existing files in separate groups 【发布时间】:2016-05-17 15:00:26 【问题描述】:

我非常高兴地使用 CoreData 和 xcdatamodeld 编辑器,但是当我为我的实体类型自动创建 NSManagedObject 子类时,文件放置选项似乎非常不灵活。

    我必须选择一个文件夹来放置所有新文件 新文件在顶层重新添加到项目中(不在任何逻辑组中)

我将我的组和文件夹设置为相互镜像,此外,我在我的“模型”文件夹中为每个 NSManagedObject 子类保留单独的组(因为 CoreData 为每个子类创建 2 个文件,否则它只会变得混乱)。

问题 1 意味着在这种情况下,我必须一次生成文件 1,手动选择每个子文件夹。问题 2 只是增加了一层便利,我觉得应该可以避免。

“覆盖任何现有文件,无论它们位于何处以及它们可能位于任何组”的选项似乎是明智的 - 如此明智,事实上,我可能只是忽略了命令.有什么想法吗?

【问题讨论】:

【参考方案1】:

不,您没有忽略任何命令。 Xcode 对如何组织事物的想法与您不同。对于问题1,就是这样。 Xcode 不会在重新生成项目时尝试定位项目中的现有文件。也许应该,但现在不是这样设计的。

【讨论】:

如果我将所有文件保存在一个文件夹中,但组仍然分开(指向同一个文件夹),你认为它会解决 #2 吗?问题 2 导致 Xcode 认为存在重复定义(即使它们来自同一来源),因为它们在项目层次结构中出现了两次。 应该这样,而且由于您将在同一个文件夹中添加新版本,Xcode 至少会注意到您正在替换文件。

以上是关于Xcode NSManagedObject 子类自动生成以覆盖单独组中的现有文件的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 和核心数据 - “创建 NSManagedObject 子类”

XCode4 无法正确生成 NSManagedObject 子类

Xcode 8.0 NSManagedObject 子类模板在哪里

菜单中缺少 Xcode 11“创建 NSManagedObject 子类”

如何在 Xcode8 中手动触发 NSManagedObject 子类的生成

在 CoreData 中使用 NSManagedObject 子类找不到 xcode8 标头