// // RQDownloadModel.h // TEST // // Created by 张嵘 on 2018/10/22. // Copyright © 2018 张嵘. All rights reserved. // #import @class RQDownloadOperation; @class RQDownloadModel; //下载状态 typedef NS_ENUM(NSUInteger, RQDownloadStatus) { RQDownloadStatus_None = 0, // 无状态 RQDownloadStatus_Running = 1, // 正在下载 RQDownloadStatus_Suspended = 2, // 下载暂停 RQDownloadStatus_Completed = 3, // 下载完成 RQDownloadStatus_Failed = 4, // 下载失败 RQDownloadStatus_Waiting = 5, // 等待下载 RQDownloadStatus_Cancel = 6, // 取消下载 }; //下载状态改变回调 typedef void(^DownloadStatusChanged)(RQDownloadModel *downloadModel); //下载进度回调 typedef void(^DownloadProgressChanged)(RQDownloadModel *downloadModel); @interface RQDownloadModel : NSObject @property (nonatomic, copy) NSString * imageUrl; @property (nonatomic, copy) NSString * title; @property (nonatomic, copy) NSString * content; @property (nonatomic ,copy) NSString * urlString; @property (nonatomic, copy) NSString * downloadDesc;//下载描述信息 @property (nonatomic, copy) NSString * fileName; @property (nonatomic, copy) NSString * fileFormat; @property (nonatomic, copy) NSString * destinationPath;//文件存放地址 @property (nonatomic, strong) RQDownloadOperation * operation;//下载操作 @property (nonatomic, assign) CGFloat progress; @property (nonatomic, assign) RQDownloadStatus status; @property (nonatomic, copy) NSString * statusText; @property (nonatomic, copy) NSString * completeTime;//下载完成时间 @property (nonatomic, copy) DownloadStatusChanged statusChanged;//状态改变回调 @property (nonatomic, copy) DownloadProgressChanged progressChanged;//进度改变回调 @property (nonatomic, assign) BOOL isLast;//数组最后一个模型 /** 文件总大小 */ @property (nonatomic, assign) NSInteger fileTotalSize; /** 已下载文件大小 */ @property (nonatomic, assign) NSInteger fileDownloadSize; /** 输出流 */ @property (nonatomic, strong) NSOutputStream *stream; /** 下载完成 */ @property (nonatomic, assign) BOOL isFinished; @end