// 方法1 传统写法
_name = dict[@"name"];
// 字典不能保存基本数据类型
_age = [dict[@"age"] integerValue];
// 方法2 KVC - `间接`通过 key 设置数值
// 注意:基本数据类型,不需要转换,KVC 可以自动实现转换!
[self setValue:dict[@"name"] forKey:@"name"];
[self setValue:dict[@"age"] forKey:@"age"];
// 方法3 KVC - 进阶,循环遍历字典
for (NSString *key in dict) {
// 1. 通过 key 取值
id value = dict[key];
// 2. 通过 KVC 方法设置数值
// -key 对应对象的 `属性`,如果属性不存在就崩溃
[self setValue:value forKey:key];
}
// 方法4 KVC 字典转模型大招 -> 内部实际上就是方法3的实现
[self setValuesForKeysWithDictionary:dict];