Core data "的方法;“计算字段”;关于NSManagedObject子类

Core data "的方法;“计算字段”;关于NSManagedObject子类,core-data,nsmanagedobject,calculated-field,Core Data,Nsmanagedobject,Calculated Field,我想将一些自定义方法直接放入每个NSManagedObject中。想想,“计算字段”:这些方法基于实体上的持久值提供只读计算值,这与 我正在使用Xcode新文件。。。向导为我的每个实体创建NSManagedObject子类。我试图从系统自动为我创建访问器中获益。例如: 核心数据实体:“站点” 当我继续向实体添加新属性时,我将使用向导替换相应的NSManagedObjects。当替换每个文件时,我的自定义方法将丢失 我是否应该在其他地方创建自定义方法,以便继续利用向导?或者,我应该保留NSMana

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

我正在使用Xcode新文件。。。向导为我的每个实体创建NSManagedObject子类。我试图从系统自动为我创建访问器中获益。例如:

核心数据实体:“站点”

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


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

使用向导创建初始托管对象后,我通常会手动更改它们

另一种方法是创建向导生成的类文件的子类并使用它们。
重新生成时,所有自定义代码都在子类中,而不是覆盖的类文件中。

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

  • 在“新建文件…”对话框中,选择“目标-C类别”
  • 在“站点”上创建类别“CustomMethods”
  • Xcode将创建文件Site+CustomMethods.h,声明相应实现的
    @接口Site(CustomMethods)
    ,以及Site+CustomMethods.m
  • 将自定义方法添加到类别中
在Xcode中重新创建Site.m和Site.h时,这些文件不会被覆盖

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

@interface Site : NSManagedObject