我正在使用 Core Data 来存储对象。我有一个NSManagedObject
人和一个NSObject
人。它们都具有相同的属性。有NSObject
一些方法。
现在,我在 Core Data 中搜索 Bob。然后我拿那个NSManagedObject
Bob 并将所有属性复制到NSObject
Bob 并用它做我需要的事情。
这有意义还是我应该创建所需的方法NSManagedObject
?aNSManagedObject
可以和 a 一样对待NSObject
吗?
我正在使用 Core Data 来存储对象。我有一个NSManagedObject
人和一个NSObject
人。它们都具有相同的属性。有NSObject
一些方法。
现在,我在 Core Data 中搜索 Bob。然后我拿那个NSManagedObject
Bob 并将所有属性复制到NSObject
Bob 并用它做我需要的事情。
这有意义还是我应该创建所需的方法NSManagedObject
?aNSManagedObject
可以和 a 一样对待NSObject
吗?
一种鼓励的方法是构建一个 NSManagedObject 子类的类别并在该类别中实现您的自定义方法。这样,如果您的架构更改并且您的类别保持不变且不受影响,您可以通过 Xcode 重新创建您的 NSManagedObject 子类。
参考:例如 Paul Hegarty's / Stanfords 关于核心数据的 iOS 课程
是的,您可以NSManagedObject
像使用常规对象一样使用它——它不仅用于数据存储访问,还旨在直接用作您的模型对象。像这样在不同类的实例之间来回复制数据是一项没有任何好处的额外工作。
由于您要添加自定义代码,我强烈建议您使用mogenerator生成NSManagedObject
子类。如果/当您需要更改模型时,它将使您的自定义代码保持在适当的位置变得容易得多。