I have an Objective-C category that I'd like to add to multiple classes without duplicating the code contained in the category. I simply want to add the same methods to multiple classes.
I have existing categories on NSManagedObject
subclasses (Book
, Chapter
, Page
) and I would like to add common functionality throughout these subclasses in a clean and maintainable way.
One way would be to add the category to their common superclass (NSManagedObject
), but that has the consequence of adding the category's methods to all NSManagedObject
subclasses when I want to add the methods to three NSManagedObject subclasses (Book
, Chapter
, Page
).
Another solution would be to subclass NSManagedObject
and then have Book
, Chapter
, and Page
inherit from that NSManagedObject
subclass. This is the cleanest, most straight forward approach. The big downside with this approach is when the data model changes and Xcode regenerates the subclasses, it will reset them back to inheriting from NSManagedObject
instead of SubclassedManagedObject
. I'd like to avoid using something like mogenerator/Xmo'd if possible.
Is it possible to add a single category on multiple classes without duplicating code?
Thanks.
@interface
s. The model's implementation has custom setters/getters while the proxy's has only@dynamic
declarations. – Gallup