美文网首页
OC JSON2Model 系列(1)

OC JSON2Model 系列(1)

作者: Ivan_MY | 来源:发表于2016-04-19 23:21 被阅读107次

    这个是一步一步来的,我们从普通的需求来做.
    我们知道 JSON 中有 字符串,逻辑值,数字,对象,数组.
    那么映射到 OC 中有 NSString,NSNumber,NSObject,NSArray.
    我们先从最最最简单的开始做起.
    假设有个 JSON

    {
      "name":"hehe",
      "age":18,
      "school":{"name":"a school"},
      "array":["hehe","haha"]
    }
    

    然后我们定义一个 OC 对象

    @interface User :NSObject
    @property (nonatomic,copy)NSString *name;
    //这里为什么不用 NSNumber 呢,自行 Google 下吧,不在这个系列的讨论范围内.
    @property (nonatomic,assign) int age;  
    @property (nonatomic,strong)NSDictionary *school;
    @property (nonatomic,strong)NSArray *array;
    @end
    

    然后我们就可以通过 OC 的 KVC 来赋值了.
    首先我们有两个方式来赋值
    1.获取 User 的所有 property,假设为 properties
    代码大致如此

    User *user = [User new];
    for (property in properties){
      id value = JSON[property];    //按照我们JSON 的写法,它将会是一个字典
      [user setValue:value forKey:property];
    }
    

    当然,实际使用中会这么简单吗?当然不会,有很多情况会出现的,所以不着急,我后面会慢慢完善这个系列的.
    想起来就写吧,这个是躺在沙发上,用着 new MacBook 敲出来的.
    千万不要把 nmb 当做主力机
    千万不要把 nmb 当做主力机
    千万不要把 nmb 当做主力机
    这货无法胜任开发任务,但是写写文档什么的,体验是我目前遇到最好的机器.

    相关文章

      网友评论

          本文标题:OC JSON2Model 系列(1)

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