首页 > 代码库 > 遍历类成员

遍历类成员

- (NSDictionary *)toDictionary{    NSMutableDictionary *dictionaryFormat = [NSMutableDictionary dictionary];        //  取得当前类类型    Class cls = [self class];        unsigned int ivarsCnt = 0;    // 获取类成员变量列表,ivarsCnt为类成员数量    Ivar *ivars = class_copyIvarList(cls, &ivarsCnt);        // 遍历成员变量列表,其中每个变量都是Ivar类型的结构体    for (const Ivar *p = ivars; p < ivars + ivarsCnt; ++p)    {        Ivar const ivar = *p;                // 获取变量名        NSString *key = [NSString stringWithUTF8String:ivar_getName(ivar)];        // 若此变量未在类结构体中声明而只声明为Property,则变量名加前缀 ‘_‘下划线        // 比如 @property(retain) NSString *abc;则 key == _abc;                // 获取变量值        id value = http://www.mamicode.com/[self valueForKey:key];>

遍历类成员