2012-06-13 65 views
1

我有一个NSObject的子类,充当我的应用程序的主数据模型,有很多属性和方法。我决定我想用Core Data来保存这些数据,所以我将这个子类改为NSManagedObject。我在.xcdatamodeld中创建了实体并将其与我的NSManagedObject子类关联。我想知道的是,如果可以在我的子类中保留未保存的属性是否可以?例如,这个类包含一个NSOperationQueue属性,但我不希望Core Data与此属性进行交互。NSManagedObject的子类属性

回答

3

当您从实体自动创建(或重新创建)NSManagedObject时,您将失去该文件中的任何其他内容。人们通常使用类别来定制NSManagedObjects的逻辑。它允许您将自定义添加到默认的NSManagedObject,而无需更改该文件中的代码!

不错,干净。

此链接可能会有所帮助:http://developer.apple.com/library/ios/#documentation/cocoa/conceptual/objectivec/chapters/occategories.html

+0

什么样的命名方案可以用于其目的只是将模型的业务逻辑添加到类中的类别? – RonLugge

+1

以下是类别的命名约定示例:http://cupsofcocoa.com/2011/03/27/objective-c-lesson-8-categories/ – Kibitz503

+0

感谢您的帮助。 – RonLugge

2

是的,这是完全正常的有在NSManagedObject子类的属性和它自己的方法。

此外,如果您希望这些属性中的任何一个利用核心数据缓存机制,则可以将它们作为瞬态添加到实体模型中。