Und*_*ion 15 methods arguments protocols objective-c
首先让我解释一下我的意思.我不想为协议键入参数:
-(void)someMethod:(id<SomeProtocol>)someArgument;
我想要的是将协议传递给方法,就像我可以将类传递给方法一样(以下是不正确的,但希望能解释我想要做的事情):
-(void)someMethod:(Protocol)someArgument;
然后,我希望能够使用协议来检查一组对象是否实现它.
adp*_*mbo 17
如果您在编码时知道协议的名称,请使用@protocol(SomeProtocol)获取指向该协议的指针,类似于您的使用方式@selector(x).
除此之外,您只需使用类标识符引用协议Protocol- 因此您的方法声明将如下所示:
-(void)someMethod:(Protocol*)someArgument
您可以在文档中查看示例 NSObject conformsToProtocol:
| 归档时间: | 
 | 
| 查看次数: | 11778 次 | 
| 最近记录: |