有人知道检查可选协议方法是否已实现的最佳方法吗?
我尝试了这个:
if ([self.delegate respondsToSelector:@selector(optionalProtocolMethod:)] )
delegate是什么:
id<MyProtocol> delegate;
然而,我遇到一个错误,提示协议中没有找到respondsToSelector:
函数!
有人知道检查可选协议方法是否已实现的最佳方法吗?
我尝试了这个:
if ([self.delegate respondsToSelector:@selector(optionalProtocolMethod:)] )
delegate是什么:
id<MyProtocol> delegate;
然而,我遇到一个错误,提示协议中没有找到respondsToSelector:
函数!
respondsToSelector:
是 NSObject
协议的一部分。在 MyProtocol
中包含 NSObject
应该可以解决你的问题:
@protocol MyProtocol <NSObject>
@optional
-(void)optionalProtocolMethod:(id)anObject;
@end
我所做的是应用以下配方:
if(self.delegate && [self.delegate respondsToSelector:@selector(closed)]){
[self.delegate closed];
}
我需要调用的方法名称为“closed”。