这个是一步一步来的,我们从普通的需求来做.
我们知道 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 当做主力机
这货无法胜任开发任务,但是写写文档什么的,体验是我目前遇到最好的机器.