【问题标题】:Core Data "Codegen" for existing project in Xcode 8?Xcode 8 中现有项目的核心数据“Codegen”?
【发布时间】:2016-09-19 12:56:13
【问题描述】:

所以,我知道 Core Data 的新“代码生成”功能将类文件放入“派生数据”而不是您的项目中......这很好。

但是,最近它在过去创建了两个单独的类...一个可以手动删除和重新生成,另一个可以包含这些对象的代码/方法。

我尝试打开“Codegen”,但它似乎没有为我们的代码创建文件。 如果我们想向 Core Data 对象添加方法,这应该如何工作? - 有没有人知道如何让它像以前一样工作,只是没有额外的重复文件,或者有什么理由我们应该这样做不这样做吗?

【问题讨论】:

    标签: xcode core-data


    【解决方案1】:

    如果您想将自己的代码添加到类中,只需将 Codegen 下拉菜单设置为 Category/Extension,它只会将 MyClass+CoreDataProperties.hMyClass+CoreDataProperties.m 生成到派生数据中,然后您需要在最后包含你的 MyClass.h 头文件,像以前一样。

    顺便说一句;让它正常工作可能有点挑剔,因为此设置有时在更改后无法保存,因此请在转到另一个文件之前尝试手动保存,然后检查之后保存的设置。还要在构建之前清理您的项目,否则它可能不会生成文件。

    【讨论】:

    • 好的,我会尝试并报告。
    • 因此,将其作为协议/扩展进行工作就像以前一样,但在该过程中仍然缺少类文件本身。这有点奇怪。当它是一个子类时,它并没有那么糟糕,因为您可以从另一个子类中复制和粘贴作为模板,或者从父类中复制和粘贴最坏的情况,但是对于根类,没有可用的模板?
    • 你仍然可以使用Editor -> Create NSManagedObject Subclass 来获取类文件
    • 嗯,你是对的。我不会发现的。但是,即使在类文件中,它也会执行这种奇怪的“此文件是自动生成的,不应编辑”的东西。
    • 当我手动生成子类时,会创建 +CoreDataClass.h 扩展,但不会创建基类。这是预期的行为吗?
    猜你喜欢
    • 2011-10-12
    • 1970-01-01
    • 2011-10-05
    • 1970-01-01
    • 1970-01-01
    • 2011-07-26
    • 1970-01-01
    • 2017-04-20
    • 2023-03-29
    相关资源
    最近更新 更多