TaskGroup.m 1.18 KB
//
//  TaskGroup.m
//  redstar
//
//  Created by admin on 15/11/12.
//  Copyright © 2015年 ZWF. All rights reserved.
//

#import "TaskGroup.h"
#import "TaskModel.h"

@implementation TaskGroup

+ (instancetype)taskGroupWithDict:(NSDictionary *)dict
{
    return [[self alloc] initWithDict:dict];
}

- (instancetype)initWithDict:(NSDictionary *)dict
{
    if (self = [super init]) {
        [self setValuesForKeysWithDictionary:dict];
        
        NSMutableArray *tempArray = [NSMutableArray array];
        for (NSDictionary *dict in _answers) {
            TaskModel *friend = [TaskModel taskModelWithDict:dict];
            [tempArray addObject:friend];
        }
        _answers = tempArray;
    }
    return self;
}

- (void)setValuesForKeysWithDictionary:(NSDictionary<NSString *,id> *)keyedValues{
    Class cls = self.class;
    for (NSString *key in keyedValues.allKeys) {
        NSString *varName = [NSString stringWithFormat:@"_%@", key];
        const char *c_key = [varName cStringUsingEncoding:NSUTF8StringEncoding];
        Ivar var = class_getInstanceVariable(cls, c_key);
        if (var) {
            [self setValue:[keyedValues objectForKey:key] forKey:key];
        }
    }
}

@end