在iOS开发中,页面的数据并不是通过一个接口进行获取的,有时候需要从服务器的多个接口获取数据,然后进行页面的更行,有时候需要在获取一个接口的数据后,根据得到的数据再获取其他接口的数据。
而开源框架AFNetWorking是一个常用的强大的第三方框架,我们可以利用AFNetWorking和GCD结合的方式完成以上两个需求。
(1)获取多个接口数据后,创建或者reload UITableview。将网络获取数据的操作放到线程组中,当每个线程都完成了后,在主线程根新页面。
例如:
1和2的数据来自两个不同的接口。项目要求,一起加载。那么我们就可以利用线程组进行解决。
具体代码如下:
#pragma mark -将取得用户收货地址和商品列表放入队列中
-(void)getInitInfoFromServer
{
dispatch_group_t group = dispatch_group_create();
// 2 设置头部
_manager.responseSerializer = [AFJSONResponseSerializer serializer];
_manager.requestSerializer = [AFJSONRequestSerializer serializer];
GCToken *token = [GCTokenManager getToken];
NSString *tokenStr = [GCTokenManager getFullToken:token];
[_manager