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

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

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

@protocol SomeDelegate 
  - (void)someDelegateMessage;
@end

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

@interface NSObject (SomeCategory) 
  - (void)someDelegateMessage;    
@end

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

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

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

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

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

...

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

предупреждение: категория 'SomeCategory» не в полной мере реализоватьNSObject» протокол

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

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

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