项目介绍:
模拟多线程下载、暂停、恢复任务,可控制并发数量.
问题提出:你项目中是否遇到在一个tableView中下载多个任务,滑动时进度条会有重用问题?是否考虑过暂停之后,怎么自动启动其他等待中的任务?等待中的任务执行的顺序?
YHDownLoad模拟定时器下载
DEMO中,管理下载的是YHDownLoadManager
//最大的并发数量 (默认是:1)
@property (nonatomic,assign)NSUInteger maxConcurrentCount;
//单例
+ (YHDownLoadManager *)sharedInstance;
//下载
- (Status)downLoadWithModel:(YHDownLoadModel *)model complete:(void (^)(BOOL success,id obj,NSIndexPath *indexPath,NSArray <NSNumber *>*nextTasks))complete progress:(void(^)(float downLoadProgress,NSIndexPath *indexPath))progress;
//暂停下载 ,返回下一个任务下标,-1代表没有下一个任务
- (NSNumber *)pauseDownLoadWithModel:(YHDownLoadModel *)model;
//恢复下载 ,返回暂停第一个任务,如果当前的下载中队列数量少于并发数量,返回-1
- (NSNumber *)resumeDownLoadWithModel:(YHDownLoadModel *)model;
csdn:iOS-YHDownLoad
github:YHDownLoad
谢谢支持,本文纯属个人观点!