接上一篇,下面是有关生成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的方法