respondsToSelector相关的方法

来源:互联网 发布:香奁润色 知乎 编辑:程序博客网 时间:2024/06/08 23:58

是用来检查对象是否实现了指定协议类的方法  

conformsToProtocol:@protocol()
用来判断是否是某个类或其子类的实例- (BOOL) isKindOfClass: classObj 
用来判断是否是某个类的实例- (BOOL) isMemberOfClass: classObj 
用来判断是否有以某个名字命名的方法(被封装在一个selector的对象里传递)- (BOOL) respondsToSelector: selector 
 用来判断实例是否有以某个名字命名的方法. 和上面一个不同之处在于, 前面这个方法可以用在实例和类上,而此方法只能用在类上.+ (BOOL) instancesRespondToSelector: selector
是用来检查对象是否实现了指定协议- (id) performSelector: selectorconformsToProtocol:@protocol()
在代理调用时,检查其代理是否符合协议,或者使用respondsToSelector 检查对象能否响应指定的消息,是避免代理在回调时因为没有实现代理函数而程序崩溃的一个有效的方式conformsToProtocol:@protocol()respondsToSelector



respondsToSelector 用来判断某一个方法时候实现(下面的代码意思:如果baseAPIdidStartRequest这个方法实现了,那么就去调用,防止出现异常)

if ([self.delegate respondsToSelector:@selector(baseAPIdidStartRequest:)]) {

[self.delegate baseAPIdidStartRequest:self];

}

原创粉丝点击