首页 > 代码库 > NSObject常用方法和反射
NSObject常用方法和反射
NSObject常用方法
- - (BOOL)isKindOfClass:(Class)aClass //判断是否为aClass或者aClass的子类的实例,aClass可以通过[类名 class]获取
- - (BOOL)isMemberOfClass:(Class)aClass //判断是否为aClass的实例(不包括aClass的子类)
- - (BOOL)conformsToProtocol:(Protocol)aProtocol //判断对象是否实现了aProtocol协议
- + (BOOL)instancesRespondToSelector:(SEL)aSelector //判断这个类的对象是否拥有参数提供的方法aSelector
- - (BOOL)respondsToSelector:(SEL)aSelector //判断对象是否拥有参数提供的方法aSelector
- - (void)performSelector:(SEL)aSelector withObject:(id)anArgument afterDelay:(NSTimeInterval)delay //延迟调用参数提供的方法,方法所需参数用withObject传入
反射
- Class的反射
通过类名的字符串形式实例化对象
Class class = NSClassFromString(@"Student");
Student *stu = [[class alloc] init];
将类名变成字符串
Class class = [Student class];
NSString *className = NSStringFromClass(class);
- SEL的反射
通过方法的字符串形式实例化方法
SEL selector = NSSelectorFromString(@"setName:");
[stu performSelector:selector withObject:@"Mike"];
将方法变成字符串
NSStringFromSelector(@selector(setName:));
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。