根據普通的請求,下載,上傳,分出了三種構建Task。
分別是:
-dataTaskWithRequest —>NSURLSessionDataTask
-uploadTaskWithRequest ->NSURLSessionUploadTask
-downloadTaskWithRequest —>NSURLSessionDownloadTask
先從dataTaskWithRequest方法講起
1.先是經過request 建立dataTask。
2.調用addDelegateForDataTask
這個AFURLSessionManagerTaskDelegate delegate,是AF對NSURlSession 三種代理的封裝。分別是: <NSURLSessionTaskDelegate, NSURLSessionDataDelegate, NSURLSessionDownloadDelegate>。
整個函數,就是處理相關的AFURLSessionManagerTaskDelegate類型的成員變量。
將task 和 delegate 綁定在一塊兒。
以task 的taskIdentifier爲key,delegate爲value,賦值給mutableTaskDelegatesKeyedByTaskIdentifier字典。