gpt4 book ai didi

core-data - NSManagedObject 子类上 "calculated fields"的方法

转载 作者:行者123 更新时间:2023-12-04 05:37:55 25 4
gpt4 key购买 nike

我想将一些自定义方法直接放入每个 NSManagedObject。想想“计算字段”:这些方法提供基于实体上持久值的只读计算值 - 与 this question 相同。 .

我正在使用 Xcode New File... Wizard 为我的每个实体创建 NSManagedObject 子类。我试图从系统为我自动创建访问器中受益。例如:

核心数据实体:“站点”

@interface Site : NSManagedObject

当我继续向实体添加新属性时,我将使用向导替换它们对应的 NSManagedObjects。当每个文件被替换时,我的自定义方法都丢失了。

我是否应该在别处创建我的自定义方法,以便我可以继续利用向导?或者,我应该保留 NSManagedObject 上的方法并手动添加新属性的访问器吗?还有另一种方法吗?

最佳答案

在您的 NSManagedObject 子类上创建一个类别:

  • 在“新建文件...”对话框中,选择“Objective-C 类别”。
  • 在“站点”上创建一个类别“CustomMethods”。
  • Xcode 将创建文件 Site+CustomMethods.h,声明 @interface Site (CustomMethods) , 和 Site+CustomMethods.m 对应的实现。
  • 将您的自定义方法添加到类别中。

  • 当您在 Xcode 中重新创建 Site.m 和 Site.h 时,这些文件不会被覆盖。

    所有类别方法都可以像在类本身中声明一样使用。在类别中唯一不能做的就是添加新的实例变量。

    关于core-data - NSManagedObject 子类上 "calculated fields"的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11694747/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com