iOS总结-网络框架-AFNetworking源码解析(二)

接上一篇,下面是有关生成NSURLSessionDataTask。

这里是为了适配ios8出现的多次创建session的问题。

这个方法算是af里面最核心的内容了,通过这个方法建立AFURLSessionManagerTaskDelegate与AFURLSessionDelegate建立相互关系。

加锁的原因是self.mutableTaskDelegatesKeyedByTaskIdentifier是可变的,线程不安全。

每个task都有一个delegate,每个task都回去监听这些属性,分别在各自的af代理内。

至此task处理完了。而开始调用系统的NSURLSessionDelegate/NSURLSessionTaskDelegate/NSURLSessionDataDelegate/NSURLSessionDownloadDelegate/NSURLSessionUploadDelegate的方法。具体方法,我在前面的NSURLSession的api已经有了说明。

有关NSURLSession的代理

扫描二维码关注公众号,回复: 4566589 查看本文章

NSURLSessionDataDelegate

NSURLSessionDownloadDelegate

AF delegate的方法

参考:https://www.jianshu.com/p/856f0e26279d

猜你喜欢

转载自blog.csdn.net/qq_28551705/article/details/84940371