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