@ Энди, я не думаю, что тебе нужен '*', так как 'id' уже является указателем. Итак: id <MyProtocol> p = (id <MyProtocol>) self.myViewController; [p protocolMethod]; Или просто: [(id <MyProtocol>) self.myViewController protocolMethod];
я есть объект (UIViewController), который может соответствовать или не соответствовать протоколу, который я определил.
Я знаю, что могу определить, соответствует ли объект протоколу, а затем безопасно вызвать метод:
if([self.myViewController conformsToProtocol:@protocol(MyProtocol)]) {
[self.myViewController protocolMethod]; // <-- warning here
}
Тем не менее, XCode показывает предупреждение:
warning 'UIViewController' may not respond to '-protocolMethod'
Как правильно предотвратить это предупреждение? Я не могу броситьself.myViewController
какMyProtocol
класс.