SyncSubscriptionSet

@frozen
public struct SyncSubscriptionSet
extension SyncSubscriptionSet: Sequence

SyncSubscriptionSetSyncSubscription的集合。 这是添加和删除SyncSubscription的入口点。

初始化器

  • 订阅集中的订阅数量。

    声明

    Swift

    public var count: Int { get }
  • 对区块内的订阅集同步执行任何事务(添加/删除/更新)。

    声明

    Swift

    public func update(_ block: (() -> Void), onComplete: (@Sendable (Error?) -> Void)? = nil)

    参数

    block

    包含要执行的订阅事务的区块。

    onComplete

    该区块要求将订阅同步到服务器。 否则,该区块将返回描述问题所在的Error

  • 返回订阅集的当前状态。

    声明

    Swift

    public var state: SyncSubscriptionState { get }
  • 按指定名称返回订阅。

    声明

    Swift

    public func first(named: String) -> SyncSubscription?

    参数

    named

    搜索的订阅名称。

    返回值

    给定名称的订阅。

  • 返回指定查询的订阅。

    声明

    Swift

    public func first<T>(ofType type: T.Type, where query: (Query<T>) -> Query<Bool>) -> SyncSubscription? where T : RealmSwiftObject

    参数

    type

    要查询的对象的类型。

    where

    生成订阅的查询构建器,可用于按查询和/或名称搜索订阅。

    返回值

    生成订阅的查询构建器,可用于搜索订阅。

  • 返回指定查询的订阅。

    声明

    Swift

    public func first<T>(ofType type: T.Type, where predicateFormat: String, _ args: Any...) -> SyncSubscription? where T : RealmSwiftObject

    参数

    type

    要查询的对象的类型。

    where

    生成订阅的查询构建器,可用于按查询和/或名称搜索订阅。

    返回值

    生成订阅的查询构建器,可用于搜索订阅。

  • 返回指定查询的订阅。

    声明

    Swift

    public func first<T>(ofType type: T.Type, where predicate: NSPredicate) -> SyncSubscription? where T : RealmSwiftObject

    参数

    type

    要查询的对象的类型。

    where

    生成订阅的查询构建器,可用于按查询和/或名称搜索订阅。

    返回值

    生成订阅的查询构建器,可用于搜索订阅。

  • 将一个或多个订阅追加到订阅集。

    警告

    此方法只能在写入订阅区块期间调用。

    声明

    Swift

    public func append<T>(_ subscriptions: QuerySubscription<T>...) where T : RealmSwiftObject

    参数

    subscriptions

    要添加到订阅集的订阅。

  • 删除具有指定查询的订阅。

    警告

    此方法只能在写入订阅区块期间调用。

    声明

    Swift

    public func remove<T>(ofType type: T.Type, _ query: @escaping (Query<T>) -> Query<Bool>) where T : RealmSwiftObject

    参数

    type

    要删除的对象的类型。

    to

    查询要从订阅集中删除的订阅。

  • 删除具有指定查询的订阅。

    警告

    此方法只能在写入订阅区块期间调用。

    声明

    Swift

    public func remove<T>(ofType type: T.Type, where predicateFormat: String, _ args: Any...) where T : RealmSwiftObject

    参数

    type

    要删除的对象的类型。

    predicateFormat

    谓词格式字符串,可以选择后跟可变数量的参数,这些参数将用于标识要删除的订阅。

  • 删除具有指定查询的订阅。

    警告

    此方法只能在写入订阅区块期间调用。

    声明

    Swift

    public func remove<T>(ofType type: T.Type, where predicate: NSPredicate) where T : RealmSwiftObject

    参数

    type

    要删除的对象的类型。

    predicate

    用于识别要删除的订阅的谓词。

  • 从订阅集中删除一个或多个订阅。

    警告

    此方法只能在写入订阅区块期间调用。

    声明

    Swift

    public func remove(_ subscriptions: SyncSubscription...)

    参数

    subscription

    要从订阅集中删除的订阅。

  • 从订阅集中删除具有指定名称的订阅。

    警告

    此方法只能在写入订阅区块期间调用。

    声明

    Swift

    public func remove(named: String)

    参数

    named

    要从订阅集中删除的订阅的名称。

  • 从订阅集中删除所有订阅。

    警告

    此方法只能在写入订阅区块期间调用。

    警告

    如果没有添加新订阅,则删除所有订阅将导致错误。 服务器应至少确认一个订阅。

    声明

    Swift

    public func removeAll(unnamedOnly: Bool = false)

    参数

    unnamedOnly

    如果为 true,则仅删除未命名的订阅。

  • 从订阅集中删除给定类型的零个订阅或无订阅。

    警告

    此方法只能在写入订阅区块期间调用。

    声明

    Swift

    public func removeAll<T>(ofType type: T.Type) where T : RealmSwiftObject

    参数

    type

    要删除的对象的类型。

订阅检索

序列支持

  • 返回一个SyncSubscriptionSetIterator ,它会产生订阅集合中的连续元素。

    声明

    Swift

    public func makeIterator() -> SyncSubscriptionSetIterator
  • update(_:) 异步(Asynchronous)

    创建并提交事务,以更新订阅集,当服务器确认并且与此订阅集合关联的所有数据已同步时,此操作将继续。

    抛出异常

    如果订阅集状态更改为错误状态或在向订阅提交任何更改时出现错误,则返回NSError

    声明

    Swift

    @MainActor
    public func update(_ block: (() -> Void)) async throws

    参数

    block

    包含要执行的订阅事务的区块。

  • 创建并提交事务,以更新订阅集。当服务器确认并且与此订阅collection关联的所有数据均已同步时,此操作将返回成功。

    声明

    Swift

    public func updateSubscriptions(_ block: @escaping (() -> Void)) -> Future<Void, Error>

    参数

    block

    包含要执行的订阅事务的区块。

    返回值

    最终返回Result.successError的发布者。