美文网首页
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)

    这个是一步一步来的,我们从普通的需求来做.我们知道 JSON 中有 字符串,逻辑值,数字,对象,数组.那么映射到 ...

  • iOS开发学习-博文列表

    更新时间:2015年8月12日 OC系列 《OC:Clang编译器编译OC代码》 《OC:基本数据类型》 《OC:...

  • ReactiveObjC看这里就够了

    1、什么是ReactiveObjC ReactiveObjC是ReactiveCocoa系列的一个OC方面用得很多...

  • iOS 类原理探索:类的结构分析

    OC 类原理探索 系列文章 OC 类原理探索:类的结构分析 OC 类原理探索:类结构分析补充[https://ju...

  • 10.3 OC - NSNumber/NSFileManager

    NSDictionary key:OC对象 value:不能是非OC对象 NSNumber 对数组进行一系列的操作...

  • runtime概述

    OC中runtime.h包含了OC中使用的一系列的底层C语言API声明 类的结构 可以看出:1.Class是指向s...

  • js iOS原生交互

    一、交互(UIWebView) 1、OC调用JS (1)OC调用代码 (2)JS代码 2、JS调用OC (1)OC...

  • 从OC到Swift(一)

    swift系列课程 @select 是oc Runtime那一套东西,swift本身没有runtime的 1.为什...

  • swift 多态原理 初始化 可选链

    swift系列课程 逆向machOView 多态实现原理 1.OC:Runtime2.C++ :虚表(续函数表)S...

  • iOS笔试题04

    《2018 iOS面试题系列》 1. Object-C有多继承吗?没有的话用什么代替? 1> OC是单继承,没...

网友评论

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

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