SyncSubscriptionSet
@frozen
public struct SyncSubscriptionSet
extension SyncSubscriptionSet: Sequence
SyncSubscriptionSet
是SyncSubscription
的集合。 这是添加和删除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
要添加到订阅集的订阅。
-
删除具有指定查询的订阅。
警告
此方法只能在写入订阅区块期间调用。
声明
参数
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
要删除的对象的类型。
-
返回给定
position
处的订阅。声明
Swift
public subscript(position: Int) -> SyncSubscription? { get }
参数
position
生成的订阅的索引。
-
返回 SyncSubscription 列表中的第一个对象,如果订阅为空,则返回
nil
。声明
Swift
public var first: SyncSubscription? { get }
-
返回 SyncSubscription 列表中的最后一个对象,如果订阅为空,则返回
nil
。声明
Swift
public var last: SyncSubscription? { get }
-
返回一个
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.success
或Error
的发布者。