示例代码
#import <objc/runtime.h>
unsigned int count = 0;
// 拷贝出所有的成员变量列表
Ivar *ivars = class_copyIvarList([UIDatePicker class], &count);
for (int i = 0; i<count; i++) {
// 取出成员变量
// Ivar ivar = *(ivars + i);
Ivar ivar = ivars[i];
// 打印成员变量名字
NSLog(@"%s", ivar_getName(ivar));
}
// 释放
free(ivars);
// 拷贝出所有的属性列表
objc_property_t *propertys = class_copyPropertyList([UIDatePicker class], &count);
for (int i = 0; i<count; i++) {
// 取出成员变量
objc_property_t property = propertys[i];
// 打印成员变量名字
NSLog(@"%s", property_getName(property));
}
// 释放
free(propertys);
// 拷贝出所有的方法列表
Method *methods = class_copyMethodList([UIDatePicker class], &count);
for (int i = 0; i<count; i++) {
// 取出成员变量
Method method = methods[i];
// 打印成员变量名字
NSLog(@"%@", NSStringFromSelector(method_getName(method)));
}
// 释放
free(methods);