AreaModel.m 1016 Bytes
Newer Older
admin's avatar
admin committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
//
//  AreaModel.m
//  redstar
//
//  Created by admin on 15/12/13.
//  Copyright © 2015年 ZWF. All rights reserved.
//

#import "AreaModel.h"

@implementation AreaModel
- (id)initWithName:(NSString *)name children:(NSArray *)children
{
    self = [super init];
    if (self) {
        self.provinceArray = [NSArray arrayWithArray:children];
        self.name = name;
    }
    return self;
}

+ (id)dataObjectWithName:(NSString *)name children:(NSArray *)children
{
    return [[self alloc] initWithName:name children:children];
}
admin's avatar
admin committed
26 27 28 29 30 31 32 33 34 35 36 37

- (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];
        }
    }
}
admin's avatar
admin committed
38
@end