iOS运行时获取对象的成员变量和成员方法
来源:互联网 发布:torch python 编辑:程序博客网 时间:2024/05/18 00:12
1、包含运行时头文件
#import <objc/runtime.h>
2、获取某个类的成员变量或则属性;
unsignedint numIvars;//成员变量个数
Ivar *vars =class_copyIvarList(NSClassFromString(@"UIView"), &numIvars);
//Ivar *vars = class_copyIvarList([UIView class], &numIvars);
NSString *key=nil;
for(int i =0; i < numIvars; i++) {
Ivar thisIvar = vars[i];
key = [NSStringstringWithUTF8String:ivar_getName(thisIvar)]; //获取成员变量的名字
NSLog(@"variable name :%@", key);
key = [NSStringstringWithUTF8String:ivar_getTypeEncoding(thisIvar)];//获取成员变量的数据类型
NSLog(@"variable type :%@", key);
}
free(vars);
3、获取成员函数
Method *meth =class_copyMethodList(NSClassFromString(@"UIView"), &numIvars);
//Method *meth = class_copyMethodList([UIView class], &numIvars);
for(int i =0; i < numIvars; i++) {
Method thisIvar = meth[i];
SEL sel =method_getName(thisIvar);
constchar *name =sel_getName(sel);
NSLog(@"zp method :%s", name);
}
free(meth);
例子中使用的UIView类可以替换成任何自定义的类。更多函数查看<objc/runtime.h> !
- iOS运行时获取对象的成员变量和成员方法
- iOS运行时获取对象的成员变量和成员方法
- iOS运行时获取对象的成员变量和成员方法
- iOS运行时获取对象的成员变量和成员方法
- ios 获取AppDelegate对象的成员变量
- 通过Java反射机制获取对象、方法和成员变量
- 反射机制的概述和字节码对象的获取,通过反射获取构造方法并使用;通过反射获取成员变量并使用;通过反射获取私有成员变量并使用;通过反射获取成员方法并使用
- 运行时 动态获取成员变量
- iOS运行时的用途三 -- 获得属性名,方法名,成员变量名
- 获取类的成员变量(ios)
- 上转型对象的成员变量和成员方法的调用
- 通过反射获取类对象的成员函数、成员变量(只获取成员函数)、构造函数
- 成员变量和方法变量
- 继承成员变量和成员方法的区别
- 成员变量和成员方法对多态的不同
- CWinAPP类的成员变量和成员方法
- Java中成员变量和成员方法的使用
- iOS 成员变量和属性的区别
- Java程序员简历模板
- Linux 下的对拍程序..
- java.util.Date和java.sql.Date之间的类型转换,以及String和Date的转换
- pat 1007
- 学习Linux之二:Linux常用命令
- iOS运行时获取对象的成员变量和成员方法
- TCL S960T刷机包 乐蛙OS5 稳定版 流畅 优化
- ListView单击某一项
- [ubuntu][小工具] gdebi
- CI框架文件上传
- android 倒计时的控件,以动画的形式平滑的完成数字的过度
- MySQL 数据类型
- MySQL高手篇:精妙SQL语句介绍
- [USACO 2014 Mar Silver]irrigation