12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- //
- // mixDownloadQueue.h
- // 双子星云手机
- //
- // Created by xd h on 2024/6/27.
- //
- #import <Foundation/Foundation.h>
- NS_ASSUME_NONNULL_BEGIN
- /** 下载处理 */
- typedef enum : NSUInteger {
- DownloadHandleTypeStart, // 开始下载
- DownloadHandleTypeSuspend, // 暂停下载
- DownloadHandleTypeCancel, // 取消下载
- } DownloadHandleType;
- @interface mixDownloadQueue : NSObject
- /** 设置最大的并发下载个数 */
- @property (nonatomic, assign) NSInteger maxCount;
- @property (nonatomic,strong) NSURLSession *session;
- // 添加下载任务
- - (void)addDownloadWithSession:(NSURLSession *)session
- URL:(NSURL *)url
- begin:(void(^)(NSString * filePath))begin
- progress:(void(^)(NSInteger completeSize,NSInteger expectSize))progress
- complete:(void(^)(NSDictionary *respose,NSError *error))complet;
- // 对当前任务进行操作
- - (void)operateDownloadWithUrl:(NSString *)url session:(NSURLSession *)session handle:(DownloadHandleType)handle;
- - (void)suspendAllTasksWithSession:(NSURLSession *)session;
- - (void)startAllTasksWithSession:(NSURLSession *)session;
- // 供downloader 处理下载调用
- - (void)dataTask:(NSURLSessionDataTask *)dataTask didReceiveResponse:(NSURLResponse *)response;
- - (void)dataTask:(NSURLSessionDataTask *)dataTask didReceiveData:(NSData *)data;
- - (void)task:(NSURLSessionTask *)task didCompleteWithError:(NSError *)error;
- @end
- NS_ASSUME_NONNULL_END
|