PLVDownloadDatabaseManager
Objective-C
@interface PLVDownloadDatabaseManager : NSObject
Swift
class PLVDownloadDatabaseManager : NSObject
数据库管理器(单例类;特定业务的属性、方法声明,在对应业务扩展文件中)
-
下载任务数组 更新事件
Declaration
Objective-C
@property (nonatomic, strong) PLVDownloadDatabaseTaskInfoArrayRefreshBlock _Nonnull taskInfoArrayRefreshBlock;
Swift
var taskInfoArrayRefreshBlock: PLVDownloadDatabaseTaskInfoArrayRefreshBlock { get set }
-
获得单例对象
Declaration
Objective-C
+ (nonnull instancetype)shareManager;
Swift
class func share() -> Self
-
一般场景可通过上方Block事件满足,不必使用以下多接收方事件进行事件接收
添加一个Block接收 数组更新事件 (与上方属性Block事件,相互独立)
Declaration
Objective-C
- (void)addTaskInfoArrayRefreshBlock: (nonnull PLVDownloadDatabaseTaskInfoArrayRefreshBlock)block key:(nonnull NSString *)blockKey;
Swift
func addTaskInfoArrayRefreshBlock(_ block: @escaping PLVDownloadDatabaseTaskInfoArrayRefreshBlock, key blockKey: String)
Parameters
block
事件回调
blockKey
回调Key(不同调用方,以此字符串来区分注册)
-
移除一个接收方 不再接收下载完成事件
Declaration
Objective-C
- (void)removeTaskInfoArrayRefreshBlockWithKey:(nonnull NSString *)blockKey;
Swift
func removeTaskInfoArrayRefreshBlock(withKey blockKey: String)
Parameters
blockKey
接收方,在添加事件接收时所填Key
-
所有的回放下载任务 数组
See moreDeclaration
Objective-C
@property (nonatomic, strong, readonly) NSArray<PLVDownloadPlaybackTaskInfo *> *_Nonnull totalPlaybackTaskInfoArray;
Swift
var totalPlaybackTaskInfoArray: [PLVDownloadPlaybackTaskInfo] { get }
-
下载完成的回放下载 数组
See moreDeclaration
Objective-C
@property (nonatomic, strong, readonly) NSArray<PLVDownloadPlaybackTaskInfo *> *_Nonnull completedPlaybackTaskInfoArray;
Swift
var completedPlaybackTaskInfoArray: [PLVDownloadPlaybackTaskInfo] { get }
-
下载未完成的回放下载 数组
See moreDeclaration
Objective-C
@property (nonatomic, strong, readonly) NSArray<PLVDownloadPlaybackTaskInfo *> *_Nonnull unfinishedPlaybackTaskInfoArray;
Swift
var unfinishedPlaybackTaskInfoArray: [PLVDownloadPlaybackTaskInfo] { get }
-
判断一个回放,是否已存在下载记录(不考虑下载状态)
Declaration
Objective-C
- (BOOL)checkPlaybackTaskInfoWithFileId:(nonnull NSString *)fileId;
Swift
func checkPlaybackTaskInfo(withFileId fileId: String) -> Bool
Parameters
fileId
回放视频Id,fileId
Return Value
检查结果(YES存在 / NO不存在)
-
判断一个回放,是否已存在下载记录(不考虑下载状态)
Declaration
Objective-C
- (nonnull PLVDownloadPlaybackTaskInfo *)checkAndGetPlaybackTaskInfoWithFileId: (nonnull NSString *)fileId;
Swift
func checkAndGetPlaybackTaskInfo(withFileId fileId: String) -> PLVDownloadPlaybackTaskInfo
Parameters
fileId
回放视频Id,fileId
Return Value
检查结果(taskInfo对象,存在 / nil,不存在;使用时,可通过判断该对象的state,来确认是否下载完成)
-
判断一个回放,是否已存在下载记录(不考虑下载状态,只有回放列表、点播列表的TaskInfo才能通过videopoolId查找)
Declaration
Objective-C
- (nonnull PLVDownloadPlaybackTaskInfo *) checkAndGetPlaybackTaskInfoWithVideoPoolId:(nonnull NSString *)videopoolId;
Swift
func checkAndGetPlaybackTaskInfo(withVideoPoolId videopoolId: String) -> PLVDownloadPlaybackTaskInfo
Parameters
videopoolId
回放视频Id,videopoolId
Return Value
检查结果(taskInfo对象,存在 / nil,不存在;使用时,可通过判断该对象的state,来确认是否下载完成)
-
添加一个回放下载任务(若任务已存在于数据库,将添加失败)
Declaration
Objective-C
- (BOOL)addPlaybackTaskInfo:(nonnull PLVDownloadPlaybackTaskInfo *)taskInfo;
Swift
func add(_ taskInfo: PLVDownloadPlaybackTaskInfo) -> Bool
Parameters
taskInfo
回放下载任务信息模型
Return Value
添加结果(YES成功 / NO失败)
-
删除一个回放下载任务(若任务已不存在于数据库,将删除失败)
Declaration
Objective-C
- (BOOL)deletePlaybackTaskInfo:(nonnull PLVDownloadPlaybackTaskInfo *)taskInfo;
Swift
func delete(_ taskInfo: PLVDownloadPlaybackTaskInfo) -> Bool
Parameters
taskInfo
回放下载任务信息模型
Return Value
删除结果(YES成功 / NO失败)