Model的简单设置

今天看博客的时候,看到一篇文章关于网络请求后json转到自己的model的一种小技巧,也许很多人用的 YYmodel等第三方库,不过我的确基本都是自己写的,如下:


Model的简单设置_第1张图片
dict.png

这样写相对来说非常的耗时,有一个简单的方法就是直接用函数:self setValuesForKeysWithDictionary:dict 你可以将你的model里的属性和son字段对应,然后就可以直接赋值啦~ 这是一种简单的KVC的应用。比如说我设置一个简单的 people类,里面三个属性:

@property (copy, nonatomic) NSString *name;
@property (copy, nonatomic) NSString *sex;
@property (copy, nonatomic) NSString *age;

构造了这样的一个字典:

 NSArray *values = @[@"slp", @"nan", @"22", @"simd"];
NSArray *keys = @[@"name", @"sex", @"age", @"discription"];
NSDictionary *dict = [NSDictionary dictionaryWithObjects:values forKeys:keys];

接下来就是去调用setValuesForKeysWithDictionary方法给people赋值。

- (instancetype)initWithDict:(NSDictionary *)dict{
if (self = [self init]) {
[self setValuesForKeysWithDictionary:dict];
}
return self;
}

}

当然,因为可能有时候会多余的json字段你用不到,你可以写如下的方法:

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

}

不然很容易就报错了哦。

这样 简单的,我们的people的属性就得到了相应的值啦~

你可能感兴趣的:(Model的简单设置)