Может ли категория одновременно реализовывать протокол?

Если категория, которую я создаю для класса, добавляет методы, которые также выполняют контракт, установленный протоколом, я хотел бы пометить этот класс категории как реализующий протокол и тем самым указать препроцессору Obj-C, что Класс также эффективно реализует протокол.

Пример делегата (для наглядности спасибо Оле!):

@protocol SomeDelegate <NSObject>
  - (void)someDelegateMessage;
@end

Пример категории:

@interface NSObject (SomeCategory) <SomeDelegate>
  - (void)someDelegateMessage;    
@end

И с другой типичной реализацией

@implement NSObject (SomeCategory)
  - (void)someDelegateMessage {}
@end

Когда я на самом деле пытаюсь это сделать, я получаю предупреждение для каждого метода NSObject:

предупреждение: неполная реализация категории 'SomeCategory'

предупреждение: определение метода для «-описания» не найдено

...

предупреждение: определение метода для -isEqual: не найдено

предупреждение: категория «SomeCategory» не полностью реализует протокол «NSObject»

Работает нормально, если я удалю<SomeDelegate> из декларации, но, конечно, NSObject не распознается как SomeDelegate

Ответы на вопрос(3)

Ваш ответ на вопрос