字典转模型:
一个新的技术是为了解决某个问题或者优化某个技术而产生的.那么字典转模型是为了解决为什么问题而产生的呢?
1.写代码的时候,如果直接用数组或者字典的话,需要多次使用,可能会因为不小心把键名写错,而程序并不报错。鉴于此,可以考虑把字典数据转换成一个模型,把数据封装到一个模型中去,让viewController不再直接和数据打交道,而是和模型交互。
2.一般情况下,设置数据和取出数据都使用“字符串类型的key”,编写这些key时,编辑器没有智能提示,需要手敲。如:
dict[@"name"] = @"Jack"; 手敲字符串key,key容易写错
Key如果写错了,编译器不会有任何警告和报错,造成设错数据或者取错数据
3.字典跟模型的优缺点比较:
1>字典在使用key的时候Xcode不会有提示,容易出错,模型就不会
2>①所谓模型,其实就是数据模型,专门用来存放数据的对象,用它来表示数据会更加专业
②模型设置数据和取出数据都是通过它的属性,属性名如果写错了,编译器会马上报错,因此,保证了数据的正确性
③使用模型访问属性时,编译器会提供一系列的提示,提高编码效率
字典转模型的好处:
(1)降低代码的耦合度
(2)所有字典转模型部分的代码统一集中在一处处理,降低代码出错的几率
(3)在程序中直接使用模型的属性操作,提高编码效率
(4)调用方不用关心模型内部的任何处理细节
字典转模型的注意事项:
1.模型应该提供一个可以传入字典参数的构造方法和对应的类方法
- (instancetype)initWithDict:(NSDictionary *)dict;
+ (instancetype)xxxWithDict:(NSDictionary *)dict;
提示:在模型中合理地使用只读属性,可以进一步降低代码的耦合度; 可以把一些数据逻辑代码放在模型中,是代码更简洁
模型嵌套模型和模型设计原则
转载于:https://www.cnblogs.com/1224dashen/p/5423057.html