iOS快速解析Model

平时开发中,当model的属性特别多时,为了提高开发效率,可以使用runtime特性进行解析数据,但性能可能会受点影响,这个办法需要根据项目综合考量来选择。

-(instancetype) initWithDictionary:(NSMutableDictionary*) jsonObject

{

    if((self = [super init]))

    {

        [self setValuesForKeysWithDictionary:jsonObject];

    }

    return self;

}

//当可以系统key有冲突时会走这个,如 id  ,可以改为userID

- (void)setValue:(id)value forUndefinedKey:(NSString *)key

{

if([key isEqualToString:@"id"]){

  self.userID = value;

}

 //重写,自定义

-(void) setValue:(id)value forKey:(NSString *)key

{

    if([key isEqualToString:@"key"])

    {

        for(NSMutableDictionary *reviewArrayDict in value)

        {

            NSLog(@"reviewArrayDict %@",reviewArrayDict);

        }

    }

    else{

        [super setValue:value forKey:key];

    }

}

原文地址:https://www.cnblogs.com/menchao/p/5159321.html