DownloadManagement

作者: 剧文轩 | 来源:发表于2015-10-29 15:27 被阅读478次

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下载的速率

下载地址

<git@github.com:RebirthRain/LessonDownloadManagement.git>

⚠️注意

Download类里面有一个- (void)downloadComplted:(DownloadComplted)downloadCompltedBlock的回调方法不要去使用它。使用以后会造成内存泄露

相关文章

  • DownloadManagement

    DownloadManagement的使用 最近几周事情不是太多,写了一个下载类,希望大家喜欢。我也会持续完善这个...

网友评论

  • 剧文轩:之前的版本删除掉了,上传了新的版本。修改了一个长时间暂停不会继续下载的BUG
  • lanvy:不错,坐等哈…
  • Shumin_Wu:写的很好 支持 继续下去

本文标题:DownloadManagement

本文链接:https://www.haomeiwen.com/subject/gqcfhttx.html