У меня есть категория Objective-C, которую я бы хотел добавить к нескольким классам без дублирования кода, содержащегося в категории. Я просто хочу добавить те же методы к нескольким классам.
У меня есть существующие категории в подклассах NSManagedObject
(Book
, Chapter
, Page
), и я хотел бы добавить общую функциональность в этих подклассах чистым и удобным для обслуживания способом.
Одним из способов было бы добавить категорию в свой общий суперкласс (NSManagedObject
), но это связано с добавлением методов категории ко всем подклассам NSManagedObject
, когда я хочу добавить методы к трем подклассам NSManagedObject (Book
, Chapter
, Page
).
Другим решением будет подкласс NSManagedObject
, а затем Book
, Chapter
и Page
наследовать от этого подкласса NSManagedObject
. Это самый чистый, самый прямой подход. Большой недостаток с этим подходом заключается в том, когда модель данных изменяется, а Xcode восстанавливает подклассы, она возвращает reset наследует от NSManagedObject
вместо SubclassedManagedObject
. Я хотел бы избежать использования чего-то вроде mogenerator/Xmo'd, если это возможно.
Можно ли добавить одну категорию в несколько классов без дублирования кода?
Спасибо.