AsyncOpenTask

@frozen
public struct AsyncOpenTask

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

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

  • 取消异步打开。

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

    声明

    迅速

    public func cancel()
  • 注册进度通知块。

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

    声明

    迅速

    public func addProgressNotification(queue: DispatchQueue = .main,
                                        block: @escaping (SyncSession.Progress) -> Void)

    参数

    queue

    要在其上传递进度通知的队列。

    block

    通知可用时要调用的区块。