Подтвердить что ты не робот

Проверка, была ли реализована опция дополнительного протокола

Кто-нибудь знает, как лучше всего проверить, был ли реализован дополнительный метод протокола.

Я пробовал это:

if ([self.delegate respondsToSelector:@selector(optionalProtocolMethod:)] )

где делегат:

id<MyProtocol> delegate;

Однако, я получаю сообщение о том, что функция respondsToSelector: не найдена в протоколе!

4b9b3361

Ответ 1

respondsToSelector: является частью протокола NSObject. Включение NSObject в MyProtocol должно решить вашу проблему:

@protocol MyProtocol <NSObject>

@optional
-(void)optionalProtocolMethod:(id)anObject;

@end

Ответ 2

Я использую следующий рецепт:

if(self.delegate && [self.delegate respondsToSelector:@selector(closed)]){
    [self.delegate closed];
}

Где "закрытый" - это метод, который я хотел вызвать.