PLVDownloadTaskInfo
Objective-C
@interface PLVDownloadTaskInfo : NSObject
Swift
class PLVDownloadTaskInfo : NSObject
下载任务信息模型,描述一个下载任务
-
下载任务的Id(自动根据url链接生成Id;若需自定义Id,可使用customModel自定义模型)
Declaration
Objective-C
@property (nonatomic, copy, readonly) NSString *_Nonnull taskInfoId;
Swift
var taskInfoId: String { get }
-
Undocumented
Declaration
Objective-C
@property (nonatomic, copy) NSString *fileId
Swift
var fileId: String { get set }
-
任务下载链接
Declaration
Objective-C
@property (nonatomic, copy) NSString *_Nonnull url;
Swift
var url: String { get set }
-
文件保存路径
Declaration
Objective-C
@property (nonatomic, copy, readonly) NSString *_Nonnull filePath;
Swift
var filePath: String { get }
-
文件名
Declaration
Objective-C
@property (nonatomic, copy, readonly) NSString *_Nonnull fileName;
Swift
var fileName: String { get }
-
当前下载状态
Declaration
Objective-C
@property (nonatomic, readonly) PLVDownloadState state;
Swift
var state: PLVDownloadState { get }
-
下载速度值(单位,KB/s)
Declaration
Objective-C
@property (nonatomic, readonly) float speedValue;
Swift
var speedValue: Float { get }
-
下载速度(附带单位字符串,bytes/s、KB/s、MB/s、GB/s)
Declaration
Objective-C
@property (nonatomic, copy, readonly) NSString *_Nonnull speed;
Swift
var speed: String { get }
-
下载进度值(范围,0~1)
Declaration
Objective-C
@property (nonatomic, readonly) float progress;
Swift
var progress: Float { get }
-
已下载数据大小数值(单位,bytes)
Declaration
Objective-C
@property (nonatomic, readonly) unsigned long long totalBytesWritten;
Swift
var totalBytesWritten: UInt64 { get }
-
已下载数据大小(附带单位字符串,bytes、KB、MB、GB)
Declaration
Objective-C
@property (nonatomic, copy, readonly) NSString *_Nonnull totalBytesWrittenString;
Swift
var totalBytesWrittenString: String { get }
-
任务总数据大小数值(单位,bytes;可赋值,但最终以请求结果返回值为准;提前赋值的目的,是任务未开始下载时,任务总大小也不为0)
Declaration
Objective-C
@property (nonatomic) unsigned long long totalBytesExpectedToWrite;
Swift
var totalBytesExpectedToWrite: UInt64 { get set }
-
任务总数据大小(附带单位字符串,bytes、KB、MB、GB)
Declaration
Objective-C
@property (nonatomic, copy, readonly) NSString *_Nonnull totalBytesExpectedToWriteString;
Swift
var totalBytesExpectedToWriteString: String { get }
-
下载错误(若下载成功,则为nil)
Declaration
Objective-C
@property (nonatomic, strong, readonly, nullable) NSError *error;
Swift
var error: Error? { get }
-
自定义模型(该模型中可定义所需的属性;遵循协议实现方法后,数据将一并被入库保存)
Declaration
Objective-C
@property (nonatomic, strong) NSObject *_Nonnull customModel;
Swift
var customModel: NSObject { get set }
-
是否提前获取文件大小(适用于添加下载任务时,不知文件大小的场景;YES - 添加任务后即使任务未开始,也可获取到文件大小;默认NO)
Declaration
Objective-C
@property (nonatomic) BOOL preGetFileSize;
Swift
var preGetFileSize: Bool { get set }
-
Undocumented
Declaration
Objective-C
@property (nonatomic) BOOL deleteZipFileWhenUnzip
Swift
var deleteZipFileWhenUnzip: Bool { get set }
-
以下事件,若在TableViewCell中使用,可通过Cell自持有TaskInfoId值,回调时判断与回调携带的TaskInfoId是否匹配,来保证Cell复用不受影响
Declaration
Objective-C
@property (nonatomic, strong) PLVDownloadUnzipProgressChangeBlock _Nonnull downloadUnzipProgressChangeBlock;
Swift
var downloadUnzipProgressChangeBlock: PLVDownloadUnzipProgressChangeBlock { get set }
-
下载文件解压完成事件
Declaration
Objective-C
@property (nonatomic, strong) PLVDownloadUnzipCompletedBlock _Nonnull downloadUnzipCompletedBlock;
Swift
var downloadUnzipCompletedBlock: PLVDownloadUnzipCompletedBlock { get set }
-
下载进度改变事件
Declaration
Objective-C
@property (nonatomic, strong) PLVDownloadProgressChangeBlock _Nonnull downloadProgressChangeBlock;
Swift
var downloadProgressChangeBlock: PLVDownloadProgressChangeBlock { get set }
-
下载状态改变事件
Declaration
Objective-C
@property (nonatomic, strong) PLVDownloadStateChangeBlock _Nonnull downloadStateChangeBlock;
Swift
var downloadStateChangeBlock: PLVDownloadStateChangeBlock { get set }
-
下载完成事件
Declaration
Objective-C
@property (nonatomic, strong) PLVDownloadCompletedBlock _Nonnull downloadCompletedBlock;
Swift
var downloadCompletedBlock: PLVDownloadCompletedBlock { get set }
-
添加一个Block接收 下载状态改变事件 (与上方属性Block事件,相互独立)
Declaration
Objective-C
- (void)addDownloadStateChangeBlock:(nonnull PLVDownloadStateChangeBlock)block key:(nonnull NSString *)blockKey;
Swift
func addDownloadStateChange(_ block: @escaping PLVDownloadStateChangeBlock, key blockKey: String)
Parameters
block
事件回调
blockKey
回调Key(不同调用方,以此字符串来区分注册)
-
移除一个接收方 不再接收下载状态改变事件
Declaration
Objective-C
- (void)removeDownloadStateChangeBlockWithKey:(nonnull NSString *)blockKey;
Swift
func removeDownloadStateChangeBlock(withKey blockKey: String)
Parameters
blockKey
接收方,在添加事件接收时所填Key
-
添加一个Block接收 下载完成事件 (与上方属性Block事件,相互独立)
Declaration
Objective-C
- (void)addDownloadCompletedBlock:(nonnull PLVDownloadCompletedBlock)block key:(nonnull NSString *)blockKey;
Swift
func addDownloadCompletedBlock(_ block: @escaping PLVDownloadCompletedBlock, key blockKey: String)
Parameters
block
事件回调
blockKey
回调Key(不同调用方,以此字符串来区分注册)
-
移除一个接收方 不再接收下载完成事件
Declaration
Objective-C
- (void)removeDownloadCompletedBlockWithKey:(nonnull NSString *)blockKey;
Swift
func removeDownloadCompletedBlock(withKey blockKey: String)
Parameters
blockKey
接收方,在添加事件接收时所填Key