有谁知道检查是否已实现可选协议方法的最佳方法。
我试过这个:
if ([self.delegate respondsToSelector:@selector(optionalProtocolMethod:)] )
其中委托是:
id<MyProtocol> delegate;
但是,我收到一条错误消息,指出respondsToSelector:
在协议中找不到该功能!
有谁知道检查是否已实现可选协议方法的最佳方法。
我试过这个:
if ([self.delegate respondsToSelector:@selector(optionalProtocolMethod:)] )
其中委托是:
id<MyProtocol> delegate;
但是,我收到一条错误消息,指出respondsToSelector:
在协议中找不到该功能!
respondsToSelector:
是NSObject
协议的一部分。包括在内NSObject
应该MyProtocol
可以解决您的问题:
@protocol MyProtocol <NSObject>
@optional
-(void)optionalProtocolMethod:(id)anObject;
@end
我所做的是应用以下配方:
if(self.delegate && [self.delegate respondsToSelector:@selector(closed)]){
[self.delegate closed];
}
“关闭”是我想要调用的方法。