由于最近在学习runtime相关知识,用到了class_copyIvarList方法,所以测试了一下class_copyIvarList 与 class_copyMethodList用法
unsigned int ivarCount = 0;
unsigned int methodCount = 0;
Ivar * ivars = class_copyIvarList([Person class], &ivarCount);
Method * methods = class_copyMethodList([Person class], &methodCount);
for (int i=0; i<ivarCount; i++) {
Ivar var = ivars[i];
const char * name = ivar_getName(var);
NSLog(@"-------------属性为:%s",name);
}
for(int i=0;i<methodCount ;i++)
{
Method method = methods[i];
SEL methodsel = method_getName(method);
const char * name = sel_getName(methodsel);
NSLog(@"----------------方法为:%s",name);
}