您的位置:首页 > 其它

字典转模型

2015-06-10 00:37 281 查看
将字典NSDictionary对象转为模型来使用,大大提高了程序的编写效率和扩展性,降低了程序发生错误的概率,其优缺点如下:

使用字典的坏处:

一般情况下,设置数据和去除数据都是用"字符串类型的key",编写这些key时,编译器不会有任何友善提示,需要手敲:

dict[@"name"] = @"Jack";
NSString *name = dict[@"name"];</span>
手敲字符串key, key容易写错

Key如果写错了,编译器不会有任何警告和报错,造成设错数据和取错数据

使用模型的好处

所谓模型,其实就是数据模型,专门用来存放数据的对象,用它来表示数据会更加专业

模型设置数据和取出数据都是通过它的属性,属性名如果写错了,编译器马上会报错,因此,保证了数据的正确性.

使用模型访问属性时,编译器会提供一系列的提示,提高编码效率

app.name = @"Jack”;
NSString *name = app.name;


其中,字典转模型的过程最好封装在模型内部

模型应该提供一个可以传入字典参数的构造方法

- (instancetype)initWithDict:(NSDictionary *)dict;
+ (instancetype)xxxWithDict:(NSDictionary *)dict;


下图为字典转模型的过程:



相关代码如下:

/**
* appsArray的Get()方法
*
* @return 解析数据后的appsArray数组
*/
- (NSMutableArray *)appsArray {
if (nil == _appsArray) {
NSMutableArray *appArray = [[NSMutableArray alloc] init];
// 获取plist全路径
NSString *path = [[NSBundle mainBundle] pathForResource:@"app.plist" ofType:nil];
// 取出字典数组
NSArray *dictArray = [NSArray arrayWithContentsOfFile:path];
for (NSDictionary *dict in dictArray) {
App *app = [App appWithDict:dict];
[appArray addObject:app];
}
_appsArray = appArray;
}
return _appsArray;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: