PLVDownloadDatabaseManager

Objective-C

@interface PLVDownloadDatabaseManager : NSObject

Swift

class PLVDownloadDatabaseManager : NSObject

数据库管理器(单例类;特定业务的属性、方法声明,在对应业务扩展文件中)

事件

[ 方法 ]

  • 获得单例对象

    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

下载任务数组 [云课堂回放]

数据控制 [云课堂回放]

  • 判断一个回放,是否已存在下载记录(不考虑下载状态)

    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失败)