核心数据管理对象具有额外的ivars和方法

Cor*_*oyd 6 iphone cocoa cocoa-touch core-data

是否可以将ivars和方法添加到NSManagedObject的实例中?

"额外",我指的是你不想序列化的ivars.

我是否像其他类一样将它们添加到我的NSManagedObject子类中,还是需要采取任何额外的预防措施?

Chu*_*uck 6

你可以完全按照你的描述做.如果ivars不在实体描述中,则它们不是基础模型的一部分.核心数据实际上明确支持不持久的NSManagedObject属性 - 它们被标记为"瞬态".但是,如果你确实制作了自定义的ivars,你应该记住放弃"额外的"实例变量,didTurnIntoFault而不是dealloc像普通对象那样.

  • 瞬态ivars从Core Data获得更改跟踪支持,因此如果修改了瞬态属性,则会将对象标记为已更改.这使您可以在getter/setter中进行自定义处理,例如作为非核心数据类型的瞬态属性,该属性被序列化为NSData属性. (2认同)