Может ли категория одновременно реализовывать протокол?
Если категория 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