close
以下是這兩天研究的心得,還沒開始研究的可以參考一下,節省大家的時間
NSURLSession 是 NSURLConnection 的改良版,iOS7.0 以上才支援,相關文章可參考
NSURLSession 底下有一個 subclass 名為 NSURLSessionDownloadTask,便可以達到我們目前所需要的功能,包括啟動下載、取消下載、告訴我們下載進度、以及下載是否完成,相關文件請參考 iOS developer library
如文件中所述,當啟動下載任務時,URLSession:downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite: 這個 callback 會不斷被呼叫,其中三個參數含意分別是
didWriteData:這次呼叫檔案又多寫入了多少
totalBytesWritten:從啟動到現在檔案總共寫入了多少
totalBytesExpectedToWrite:檔案預計寫入量,也就是總檔案大小
當下載結束時,URLSession:downloadTask:didFinishDownloadingToURL: 這個 callback 便會被呼叫,以便我們做後續的事情。
其中還有一個方法名為 cancelByProducingResumeData:,他可以在中斷下載任務時,讓我們儲存下載到的資料,之後可以在續傳,範例可參考
http://www.88cto.com/996655/article/details/21154.html
文章標籤
全站熱搜
留言列表