RLMAsyncOpenTask

Objective-C


@interface RLMAsyncOpenTask : NSObject

Swift

@_nonSendable(_assumed) class RLMAsyncOpenTask : NSObject, @unchecked Sendable

一个任务对象,可用于观察或取消异步打开。

当异步打开同步 Realm 时,会在调用完成回调之前从服务器下载 Realm 的最新状态。 此任务对象可用于观察下载状态或取消下载。 应该使用此选项,而不是尝试通过同步会话观察下载,因为同步会话本身是异步创建的,并且当 -[RLMKRealm asyncOpenWithConfiguration:completion:] 返回时可能还不存在。

  • 已弃用

    请改用 addSyncProgressNotificationBlock

    注册进度通知块。

    每当同步子系统有新的进度数据要报告时,就会调用每个已注册的进度通知块,直到取消任务或调用完成回调。 进度通知在主队列上传递。

    声明

    Objective-C

    - (void)addProgressNotificationBlock:
        (nonnull RLMProgressNotificationBlock)block;

    Swift

    func addProgressNotificationBlock(_ block: @escaping RLMProgressNotificationBlock)
  • 注册进度通知块。

    每当同步子系统有新的进度数据要报告时,就会调用每个已注册的进度通知块,直到取消任务或调用完成回调。 进度通知在主队列上传递。

    声明

    Objective-C

    - (void)addSyncProgressNotificationBlock:
        (nonnull RLMSyncProgressNotificationBlock)block;

    Swift

    func addSyncProgressNotificationBlock(_ block: @escaping RLMSyncProgressNotificationBlock)
  • 已弃用

    请改用 addSyncProgressNotificationOnQueue

    注册在给定队列上调用的进度通知块。

    每当同步子系统有新的进度数据要报告时,就会调用每个已注册的进度通知块,直到取消任务或调用完成回调。 进度通知在提供的队列上传递。

    声明

    Objective-C

    - (void)addProgressNotificationOnQueue:(nonnull dispatch_queue_t)queue
                                     block:(nonnull RLMProgressNotificationBlock)
                                               block;

    Swift

    func addProgressNotification(on queue: dispatch_queue_t, block: @escaping RLMProgressNotificationBlock)
  • 注册在给定队列上调用的进度通知块。

    每当同步子系统有新的进度数据要报告时,就会调用每个已注册的进度通知块,直到取消任务或调用完成回调。 进度通知在提供的队列上传递。

    声明

    Objective-C

    - (void)
        addSyncProgressNotificationOnQueue:(nonnull dispatch_queue_t)queue
                                     block:
                                         (nonnull RLMSyncProgressNotificationBlock)
                                             block;

    Swift

    func addSyncProgressNotification(on queue: dispatch_queue_t, block: @escaping RLMSyncProgressNotificationBlock)
  • 取消异步打开。

    任何正在进行的下载都将被取消,并且永远不会调用此异步打开的完成区块。 如果同一 Realm 上同时发生多个异步打开,则所有其他打开都将失败,并显示错误“操作已取消”。

    声明

    Objective-C

    - (void)cancel;

    Swift

    func cancel()