首页 > 代码库 > instancesRespondToSelector与respondsToSelector的区别
instancesRespondToSelector与respondsToSelector的区别
Test1.h
@interface Test1 : NSObject- (void)objectFun;+ (void)classFun;@end
Test1.m
@implementation Test1- (void)objectFun{ NSLog(@"object function");}+ (void)classFun{ NSLog(@"class function");}@end
测试类:
BOOL flag;flag = [Test1 instancesRespondToSelector:@selector(objectFun)]; //YESflag = [Test1 instancesRespondToSelector:@selector(classFun)]; //NOflag = [Test1 respondsToSelector:@selector(objectFun)]; //NOflag = [Test1 respondsToSelector:@selector(classFun)]; //YESTest1 *obj = [[Test1 alloc] init];flag = [obj respondsToSelector:@selector(objectFun)]; //YESflag = [obj respondsToSelector:@selector(classFun)]; //NO
总结:
1. instancesRespondToSelector只能写在类名后面,respondsToSelector可以写在类名和实例名后面。
2. [类 instancesRespondToSelector]判断的是该类的实例是否包含某方法,等效于:[该类的实例 respondsToSelector]。
3. [类 respondsToSelector]用于判断是否包含某个类方法。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。