Добавление одной и той же категории к нескольким классам

У меня есть категория Objective-C, которую я хотел бы добавить к нескольким классам, не дублируя код, содержащийся в категории. Я просто хочу добавить одни и те же методы к нескольким классам.

У меня есть категории в подклассах NSManagedObject ( Книга , Глава , Страница ), и я хотел бы добавить общие функции во всем эти подклассы в чистом и удобном виде.

Один из способов - добавить категорию к их общему суперклассу ( NSManagedObject ), но это приведет к добавлению методов категории ко всем подклассам NSManagedObject , когда я хочу добавить методы для трех подклассов NSManagedObject ( Книга , Глава , Страница ).

Другое решение - создать подкласс NSManagedObject , а затем Book , Chapter и Page унаследовать от этого NSManagedObject) подкласс. Это самый чистый и прямой подход. Большой недостаток этого подхода - когда модель данных изменяется и Xcode регенерирует подклассы, он сбрасывает их обратно на наследование от NSManagedObject вместо SubclassedManagedObject . Я бы хотел по возможности избегать использования чего-то вроде mogenerator / Xmo'd.

Можно ли добавить одну категорию в несколько классов без дублирования кода?

Спасибо.

20
задан Andrew 26 February 2012 в 06:36
поделиться