码迷,mamicode.com
首页 > 移动开发 > 详细

iOS 反射操作

时间:2016-05-30 15:16:47      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:

1. 判断一个对象是否为某种类型:(父类也会返回YES)


isKindOfClass:[NSObject class]


2. 判断一个对象是否是某个类的实例化对象 (父类不会返回YES)


isMemberOfClass:[NSObject class]


3. 判断是否实现了某个协议


conformsToProtocol:@protocol(NSCopying)

4.判断是否存在某个方法(能否响应此方法)


respondsToSelector:@selector(showMessage:)

动态生成一个类

5. 根据类名生成一个类


NSString *className=@"Person";
Class myClass=NSClassFromString(className)

可以用 myClass 初始化Person对象


Person *person2=[[myClass alloc]init]

6. 类型转化成字符串


NSStringFromClass(myClass),NSStringFromClass([Person class]

7. 根据方法名字符串, 调用方法


NSString *methodName=@"showMessage:" // 方法名字符串
SEL mySelector=NSSelectorFromString(methodName);  // 根据方法名字符串 创建SEL对象

performSelector:mySelector withObject:@"Hello,world!" // 执行方法8. 方法转化为字符串

NSStringFromSelector(mySelector)

iOS 反射操作

标签:

原文地址:http://blog.csdn.net/xy_26207005/article/details/51523482

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!