我们在上一篇文章如何拦截iOS所有网络请求中介绍了如何使用NSURLProtocol拦截所有的网络请求添加统计代码。使用NSURLProtocol拦截第三方框架像Alamofire、AFNetwoking、SDWebImage等就需要一些代码侵入。今天说说如何不使用NSURLProtocol给Alamofire的所有请求添加统计的方法,而且不用修改现有代码。
如果你看过Alamofire的源码就会发现Alamofire在网络请求的各个阶段会发送相应的通知,如下图。
只要我们在自己的单例中注册Notification.Name.Task.DidResume和Notification.Name.Task.DidComplete这两个通知可以获得网络请求和返回数据。关键代码如下图:
我们在ll_markerNetworkRequestDidComplete拿到sessionDelegate 和request就可以拿到需要的信息了。我们采用相同的方式也可以统一控制网络请求过程中HUD的显示与隐藏。
注意:Swift2.3这种方式是如法获得请求的返回数据的,Swift3对应的Alamofire框架才可以获得sessionDelegate并获得返回数据
guard letdata=sessionDelegate[task]?.delegate.dataelse{ return}
1、本网站名称:源码村资源网
2、本站永久网址:https://www.yuanmacun.com
3、本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
源码村资源网 » 微官网统计代码(微代码表怎么看)
2、本站永久网址:https://www.yuanmacun.com
3、本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
源码村资源网 » 微官网统计代码(微代码表怎么看)
1 评论