DownloadManagement的使用
最近几周事情不是太多,写了一个下载类,希望大家喜欢。我也会持续完善这个下载类使它变得更加便利
一、DownloadManagement的优点
DownloadManagement
是一个实现下载功能的一个类,它主要的优点有
-
队列下载
-
断点下载
-
获取到下载的信息:下载进度、下载速率、下载完成的地址
-
另外程序意外退出也可以继续执行下载
-
创建一个下载只使用一个初始化方法,内部会根据URL来判断是否需要执行断点续传
二、DownloadManagement的使用
DownloadManagement
主要有两个类:
- DownloadManagement
DownloadManagement
是一个单例,是一个管理下载器的一个下载类有以下几个方法
根据URL添加一个下载对象,如果该对象已被添加,则会返回该对象
- (Download *)addDownloadingWithURL:(NSString *)url
根据URL返回一个下载的对象
- (Download *)findDownloadingWithURL:(NSString *)url
返回下载器中所有下载的对象
- (NSArray *)allDownloading
- Download
Download
是单个下载类,提供控制下载的功能:初始化一个下载类、开始、暂停、下载中和下载完成的Block回调
根据URL创建一个下载
- (instancetype)initWithURL:(NSString *)url
开始、继续
- (void)resume
暂停
- (void)suspend
下载状态的Block回调
- (void)didFinishDownload:(FinishBlock)finish downloading:(DownloadingBlock)downloading
两个Block附带的参数意义
- FinishBlock下载完成后调用的Block
typedef void(^FinishBlock)(NSString *savePath, NSString *url)
savePath下载完成后保存的地址、url下载的地址
- DownloadingBlock下载中调用的Block主要返回下载的进度和速率
typedef void(^DownloadingBlock)(long long bytesWritten, float progress)
progress下载的进度、bytesWritten下载的速率
网友评论