是否可以将协议(protocol)作为参数传递给函数?
@protocol A
@end
...
// in other class
- (void)callProto: (Protocol *)protocol
{
NSLog(@"%@", NSStringFromProtocol(protocol));
}
在这种情况下没有任何语法错误。但是我怎样才能将协议(protocol)传递给这个函数呢?
我试过了
[instance callProto: A];
它不起作用。
最佳答案
您需要声明这样的协议(protocol):
协议(protocol) *p = @protocol(MyProtocolName);
然后将其传递给您的函数,如下所示:
[self callProto:p];
我想不出你为什么需要这个。
关于ios - 指向作为参数传入的协议(protocol)的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24746510/