/DownloadManager

一个简单的OC下载类

Primary LanguageObjective-CApache License 2.0Apache-2.0

ZCDownloadManager

一个OC的下载类,封装了NSURLSession NSURLSessionDataTask操作简单

支持断点续传

子线程下载,不会卡住界面

通过[ZCDownloadManager sharedInstance]调用下载

/**
 *  操作下载任务
 *  *当任务不存在时,调用方法会自动创建任务并开始下载
 *  *当任务正在下载时,调用方法会暂停任务
 *  *当任务暂停时,调用方法会继续任务
 *  *若任务已完成,调用方法不会进行任何处理
 *  @param url         下载URL地址(NSString *)
 *  @param path        存放下载文件的目录地址,若目录不存在则自动创建
 *  @param progress    下载进度变更时调用代码块(主线程)
 *  @param state       下载状态变更时调用代码块(主线程)
 *  @param completion  下载完成后调用代码块(主线程)
 *
 */
- (void)downloadTaskWithURL:(NSString *)url toPath:(NSString *)path progress:(ZCProgressBlock)progress state:(ZCStateBlock)state completion:(ZCDownloadedCompletionBlock)completion;
/**
 *  移除任务
 *
 *  @param url  下载URL地址(NSString *)
 *  @param keep if keep == YES 只移除任务,保留文件(***谨慎使用,以下载文件需要自己手动清理***),else 移除任务与文件
 */
- (void)removeTaskWithURL:(NSString *)url preserveFile:(BOOL)keep;
/**
 *  取出任务
 *
 *  @param url 下载URL地址(NSString *)
 *
 *  @return 返回ZCDownloadTask *任务
 */
- (ZCDownloadTask *)taskWithURL:(NSString *)url;
//ZCDownloadTasks归档,在添加任务与删除任务时自动调用
//手动调用建议在AppDelegate中任务终止或进入后台时调用该方法
- (void)saveData;