AFNetworking框架

image.png

downloadTask

1,urlSession的didReceiveChallenge
2,didWriteData 保存到tmp下
3,didFinishDownloadingToUrl,從傳入的destination block得到download目錄,
將tmp移到download下
4,didCompleteWithError, 返回download路徑

dataTaskWithRequest

1,urlSession的didReceiveChallenge
2,didReceiveData,保存到mutableData
3,didCompleteWithError,返回mutableData序列化對(duì)象

downloadTaskWithResumeData

1,urlSession的didReceiveChallenge
2,didiResumeAtOffset
3,didWriteData 保存到tmp下
4,didFinishDownloadingToUrl,從傳入的destination block得到download目錄,
將tmp移到download下
5,didCompleteWithError, 返回download路徑;
如果發(fā)生錯(cuò)誤,則返回空的download路徑 因?yàn)闆](méi)有到第4步didFinishDownloadingToUrl這一步

取消當(dāng)前下載任務(wù)

NSURLSessionDownloadTask:

cancelByProducingResumeData (這種方式, 可以用downloadTaskWithResumeData續(xù)傳,流程如上面didiResumeAtOffset)
cancel

1,didCompleteWithError

取消session下面的所有task的下載任務(wù)

這種情況下session就不再可用了, AFURLSessionMananger需要重新創(chuàng)建。
NSURLSession :
invalidateAndCancel
finishTasksAndInvalidate

1,didCompleteWithError

暫停當(dāng)前下載任務(wù)

NSURLSessionDownloadTask:
suspend
(可以用resume 繼續(xù)下載
1,didWriteData 從這繼續(xù)

resumeData
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容