几个常见方法比较

用来判断是否是某个类或其子类的实例

-(BOOL) isKindOfClass: classObj 

用来判断是否是某个类的实例

-(BOOL) isMemberOfClass: classObj 

用来判断是否有以某个名字命名的方法(被封装在一个selector的对象里传递)

-(BOOL) respondsToSelector: selector 

用来判断实例是否有以某个名字命名的方法,
相较之前,前面这个方法可以用在实例和类上,而此方法只能用在类上.

+(BOOL) instancesRespondToSelector: selector 

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

-(BOOL)conformsToProtocol:@protocol()

添加代理时可以只判断一下是声明部分是否写协议名称,
调用相应代理方法时需要respondsToSelector 判断一下具体方法

你可能感兴趣的:(几个常见方法比较)