Model的简单设置

作者: __夏至未至 | 来源:发表于2016-04-21 11:46 被阅读214次

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


    dict.png

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

    <pre><code>@property (copy, nonatomic) NSString *name;
    @property (copy, nonatomic) NSString *sex;
    @property (copy, nonatomic) NSString *age;</pre></code>

    构造了这样的一个字典:
    <pre><code> NSArray *values = @[@"slp", @"nan", @"22", @"simd"];
    NSArray *keys = @[@"name", @"sex", @"age", @"discription"];
    NSDictionary *dict = [NSDictionary dictionaryWithObjects:values forKeys:keys];</pre></code>
    接下来就是去调用setValuesForKeysWithDictionary方法给people赋值。

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

    }</pre></code>

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

    <pre><code>- (void)setValue:(id)value forUndefinedKey:(NSString *)key{

    }</pre></code>

    不然很容易就报错了哦。

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

    相关文章

      网友评论

        本文标题:Model的简单设置

        本文链接:https://www.haomeiwen.com/subject/castrttx.html