一般的处理方式:
网络请求->拿到返回数据(目前比较流行的跨平台格式语言为json)->根据返回数据生成数据模型类的实例对象->将数据对应显示到界面
但是如果数据模型比较复杂繁琐,就需要第三方库来帮忙了。
第三方库MJExtension JSON解析框架
demo:以数组为例,此框架中提供了JSON多种数据类型处理方式
JSON数据中为字典包含数组,将数组存入(NSArray *)jsonArray
模型数据类型为 GYModel类 继承自NSObject
json数组 -> 模型数组 转化方法:
+ (NSMutableArray *)objectArrayWithKeyValuesArray:(NSArray *)keyValuesArray
MJExtension中的该方法为NSObject的category中的方法,可简化数据处理过程,按照调用的类的数据模型进行数据处理,返回NSMutableArray数组,数组中的元素即GYModel类的实例对象。
NSMutableArray * modelArray=
[GYModel objectArrayWithKeyValuesArray:jsonArray];
如果是由表格来显示模型数据,复杂的数据模型表格的单元格定义也会多样化。自定义的表格对应不同Identifier,模型数据中可包含判定条件参数,调用判定方法可返回对应的Identifier。
GYModel* model=modelArray[indexPath.row];
NSString *ID = [GYCell idForRow:model];
//重用生成自定义cell并将模型数据外部传入,故事板中各种样式的cell统一绑定GYCell类
GYCell * cell = [tableView dequeueReusableCellWithIdentifier:ID];
cell.model=model;
不同样式的表格所对应的数据也都不尽相同,可根据实际情况在GYCell类中进行页面设计。