SyncSession

public extension SyncSession
  • 由会话对象表示的会话的当前状态。

    RLMSyncSessionState

    声明

    Swift

    typealias State = RLMSyncSessionState
  • 同步会话连接的当前状态。

    RLMSyncConnectionState

    声明

    Swift

    typealias ConnectionState = RLMSyncConnectionState
  • 给定进度通知块跟踪的传输方向(上传或下载)。

    如果您的应用希望了解已上传或下载了多少字节,则可以在会话上注册进度通知块,例如显示进度指示器用户界面。

    查看更多

    声明

    Swift

    enum ProgressDirection : Sendable
  • 进度通知块的所需行为。

    如果您的应用希望了解已上传或下载了多少字节,则可以在会话上注册进度通知块,例如显示进度指示器用户界面。

    查看更多

    声明

    Swift

    enum ProgressMode : Sendable
  • 与进度通知区块相对应的令牌。

    对令牌调用invalidate()以停止通知。 如果通知块已自动停止,则调用invalidate()不会执行任何操作。 应在销毁令牌之前调用invalidate()

    声明

    Swift

    typealias ProgressNotificationToken = RLMProgressNotificationToken
  • 封装进度信息的结构体。

    查看更多

    声明

    Swift

    struct Progress : Sendable
  • 注册进度通知块。

    如果会话已从同步子系统收到进度信息,则将立即调用该区块。 否则,一旦进度信息可用,就会立即调用它。

    可以同时在同一个会话中注册多个区块。 每个区块都将在专门用于进度通知的侧队列上被调用。

    只要需要进度通知,就必须保留此方法返回的令牌;当不再需要通知时和销毁令牌之前,应对令牌调用invalidate()方法。

    如果没有返回令牌,则永远不会再次调用通知块。 造成这种情况的原因有很多。 如果会话以前遇到过致命错误,则它将不接受进度通知块。 如果该区块是在forCurrentlyOutstandingWork模式下配置的,但没有其他进度可报告(例如,可传输字节数和已传输字节数相等),则不会再次调用该区块。

    声明

    Swift

    @preconcurrency
    func addProgressNotification(for direction: ProgressDirection,
                                 mode: ProgressMode,
                                 block: @Sendable @escaping (Progress) -> Void) -> ProgressNotificationToken?

    参数

    direction

    要在此进度通知块中追踪的传输方向(上传或下载)。

    mode

    此进度通知块的所需行为。

    block

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

    返回值

    只要您希望发送通知,就必须持有的令牌。

  • 等待挂起的上传或下载完成或会话过期,并将回调分派到指定队列。

    警告

    除非在特殊情况下,尤其是用于测试时,否则不应使用此平均值方法。

    声明

    Swift

    func wait(for direction: ProgressDirection,
              queue: DispatchQueue? = nil,
              block: @Sendable @escaping (Error?) -> Void)

    参数

    direction

    要等待的传输方向(上传或下载)。

    queue

    要将回调分派到的队列。

    block

    等待完成时要调用的区块。

  • wait(for:) 异步(Asynchronous)

    等待待处理的上传或下载完成或会话过期。

    警告

    除非在特殊情况下,尤其是用于测试时,否则不应使用此平均值方法。

    声明

    Swift

    @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
    func wait(for direction: ProgressDirection) async throws

    参数

    direction

    要等待的传输方向(上传或下载)。