根据设计,定义全局的数据请求模块:
这里假设需要请求两部分的数据,热卖产品,新上架产品,两个分组数据。
新建一个ViewModel,
在ViewModel中编写所有请求数据的细节操作:
比如这里的RecommenViewModel
1.新建RecommenViewModel类
2.扩展类,编写请求数据的方法:requestData(),以后Controller直接调用RecommenView的实例,就可以调用这个方法,请求对应的数据了。
调用网络请求数据的工具类:调用API的连接地址,请求数据,请直接打印测试请求的数据格式。
2.1 API的链接打开的效果:可以直接看到我们需要定义的模型字段
2.2切换成json形式:
2.3格式化json
2.4定义分组模型模型:
新建模型对象:
2.5定义产品模型:
2.6 定义全局的模型对象,定一个组,用于存放请求到的异步数据,最后进行排序。
各个数据请求需要顶一个模型组,再定一个最终排序好的goodGroup,所以是3个全局模型
每次请求数据之前先进入组,请求完成后离开组
0.进入全局数据接收组dGroup
1.将结果转成字典,
2字典转成数组,
3.定义分组属性,
4.遍历数组,转成模型对象。
5.将结果加入到全局模型的hotGoodGroup的goods中。
6.离开组dGroup
7.继续请求下一个数据块
2.7请求新上架的产品数据模块,方式与上面基本相同
2.8对请求到全部数据进行排序,然后进行回调
3.Controller 接受回调数据
3.2collection的定义修改成根据请求到的结果数据个进行展现
3.3去到View 的XIB Cell中,定义组建属性。
3.4XIB对应的Controller
3.5 修改CollectionView设置,至此,全后端的数据已经完全打通。
运行效果: