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的回调方法不要去使用它。使用以后会造成内存泄露

    相关文章

      网友评论

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

      本文标题:DownloadManagement

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