AFNetworking框架

AFNetworking框架_第1张图片
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序列化对象

downloadTaskWithResumeData

1,urlSession的didReceiveChallenge
2,didiResumeAtOffset
3,didWriteData 保存到tmp下
4,didFinishDownloadingToUrl,从传入的destination block得到download目录,
将tmp移到download下
5,didCompleteWithError, 返回download路径;
如果发生错误,则返回空的download路径 因为没有到第4步didFinishDownloadingToUrl这一步

取消当前下载任务

NSURLSessionDownloadTask:

cancelByProducingResumeData (这种方式, 可以用downloadTaskWithResumeData续传,流程如上面didiResumeAtOffset)
cancel

1,didCompleteWithError

取消session下面的所有task的下载任务

这种情况下session就不再可用了, AFURLSessionMananger需要重新创建。
NSURLSession :
invalidateAndCancel
finishTasksAndInvalidate

1,didCompleteWithError

暂停当前下载任务

NSURLSessionDownloadTask:
suspend
(可以用resume 继续下载
1,didWriteData 从这继续

AFNetworking框架_第2张图片
resumeData

你可能感兴趣的:(AFNetworking框架)