* 简介
- 运行时是一种面向对象的编程的运行环境,类似于JAVA的虚拟机
- OC 最主要的特征就是在程序运行时,用发送消息的方式调用方法
- 运行时是OC的核心,OC就是基于运行时的
* class_copyPropertyList 获取数组
* 遍历 property_getName 过得每一个属性的名字
* 释放C数组
同理,可以获得属性.成员变量,方法和协议
#import "NSObject+KAKARunTime.h"#import@implementation NSObject (KAKARunTime)
+ (NSArray *) KAKA_ObjProperties{
NSMutableArray * pArray = [[NSMutableArray alloc]init];
unsigned int count = 0 ;
objc_property_t * propertylist = class_copyPropertyList([self class], &count);
NSLog(@"%zd",count);
for (int i = 0; i < count ; i++) {
objc_property_t pty = propertylist[i];
const char * cName = property_getName(pty);
NSString * pString = [NSString stringWithCString:cName encoding:NSUTF8StringEncoding];
[pArray addObject:pString];
}
free(propertylist);
return pArray.copy;
}
@end