基于UNSURLConnection封裝的斷點續傳類:FGGDownloader

jopen 9年前發布 | 8K 次閱讀 iOS開發 移動開發 FGGDownloader

FGGDownloader

用于斷點續傳,退出程序后,下次啟動后,恢復下載從上次下載位置開始下載 /*

演示

FGGDownloader簡介

基于UNSURLConnection封裝的斷點續傳類,用于大文件下載,退出程序后,下次接著下載。
用法簡介:
-->1.在項目中導入FGGDownloader.h頭文件;
-->2.搭建UI時,設置顯示進度的UIProgressView的進度值:[FGGDownloader lastProgressWithUrl:], 這個方法的返回值是float類型的;
設置顯示文件大小/文件總大小的Label的文字:[FGGDownloader lastProgressWithUrl:];

-->3.開始或恢復下載任務的方法:downloadWithUrlString:(NSString *)urlString toPath:(NSString *)destinationPath process:(ProcessHandle)process completion:(CompletionHandle)completion failure:(FailureHandle)failure 這個方法包含三個回調代碼塊,分別是:
1)下載過程中的回調代碼塊,帶2個參數:下載進度參數progress,已下載文件大小sizeString;
2)下載成功回調的代碼塊,沒有參數;
3)下載失敗的回調代碼塊,帶一個下載錯誤參數error。

-->4.在下載出錯的回調代碼塊中處理出錯信息。在出錯的回調代碼塊中或者暫停下載任務時,
調用cancelDownloadTask:方法取消/暫停下載任務;
-->5.AppDelegate的程序將要退出的applicationWillTerminate:方法中,

取消下載:cancelDownloading:。

注意:
++若是單個下載任務,最好在視圖控制器中將下載對象設置成成員變量:FGGDownloader *_downloader;
++若有多個下載任務,最好在視圖控制器中弄一個字典,存放下載對象,每次新建或者恢復下載時,將下載任務對象以下載url為key存到這個字典中;在暫停下載或者下載出錯時,根據下載url從字典中取出對應的下載對象,用 cancelDownloading:方法取消這個對象的下載,并從字典中移除這個鍵值對;

++若有多個下載對象,在程序將要退出的方法中,應當結束所有的下載任務。

Copyright (c) 2015年 夏桂峰. All rights reserved. v1.1 1.更新iOS 9支持
2.添加獲取文件已經下載部分大小和文件總大小的方法
3.下載工程的回調代碼塊添加了包含文件已下載部分大小和文件總大小構成的字符串參數

項目主頁:http://www.baiduhome.net/lib/view/home/1442995464154

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!