RealmPublishers

@available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
public enum RealmPublishers

结合 Realm 类型的发布者。

通常不应直接创建任何此类类型,而应使用创建这些类型的扩展方法。

  • 发出异步打开的 Realm 的发布者。

    查看更多

    声明

    Swift

    @frozen
    public struct AsyncOpenPublisher : Publisher
  • 每次刷新 Realm 时发出 Void 的发布者。

    尽管有这个名称,但它实际上是在 Realm 刷新发出的。

    查看更多

    声明

    Swift

    @frozen
    public struct RealmWillChange : Publisher
  • 每次对象发生变更时都会发出 Void 的发布者。

    尽管有这个名称,但它实际上是在collection发生更改发出的。

    查看更多

    声明

    Swift

    @frozen
    public struct WillChange<Collection> : Publisher where Collection : RealmSubscribable, Collection : ThreadConfined
  • 每次对象发生变更时都会发出 Void 的发布者。

    尽管有这个名称,但它实际上是在collection发生更改发出的。

    查看更多

    声明

    Swift

    public class WillChangeWithToken<Collection, T> : Publisher where Collection : RealmSubscribable, Collection : ThreadConfined
  • 每次对象发生变更时都会发出该对象或collection的发布者。

    查看更多

    声明

    Swift

    @frozen
    public struct Value<Subscribable> : Publisher where Subscribable : RealmSubscribable, Subscribable : ThreadConfined
  • 每次对象发生变更时都会发出该对象或collection的发布者。

    查看更多

    声明

    Swift

    public class ValueWithToken<Subscribable, T> : Publisher where Subscribable : RealmSubscribable, Subscribable : ThreadConfined
  • 用于支持 Realm 发布者上的receive(on:)的辅助发布者。

    声明

    Swift

    @frozen
    public struct Handover<Upstream, S> : Publisher where Upstream : Publisher, S : Scheduler, Upstream.Output : ThreadConfined
  • 使receive(on:)适用于线程限制对象流的发布者

    使用 .threadSafeReference() 创建

    查看更多

    声明

    Swift

    @frozen
    public struct MakeThreadSafe<Upstream> : Publisher where Upstream : Publisher, Upstream.Output : ThreadConfined
  • 向串行调度队列传递具有线程限制的值的发布者。

    在发出线程限制对象的发布者上使用.threadSafeReference().receive(on: queue)进行创建。

    声明

    Swift

    @frozen
    public struct DeferredHandover<Upstream, S> : Publisher where Upstream : Publisher, S : Scheduler, Upstream.Output : ThreadConfined
  • 发出 ObjectChange 的发布者每次修改观察到的对象时

    receive(on:)subscribe(on:)可以直接对此发布者调用,并且仅当存在中间转换时才需要调用.threadSafeReference() 。 如果使用subscribe(on:) ,则应始终是管道中的第一个操作。

    使用objectChangeset()函数创建此发布者。

    查看更多

    声明

    Swift

    @frozen
    public struct ObjectChangeset<O> : Publisher where O : ThreadConfined
  • 发出 ObjectChange 的发布者每次修改观察到的对象时

    receive(on:)subscribe(on:)可以直接对此发布者调用,并且仅当存在中间转换时才需要调用.threadSafeReference() 。 如果使用subscribe(on:) ,则应始终是管道中的第一个操作。

    使用objectChangeset()函数创建此发布者。

    查看更多

    声明

    Swift

    public class ObjectChangesetWithToken<O, T> : Publisher where O : RealmSwiftObject
  • 通过在发出线程限制值的发布者上调用.threadSafeReference()来创建的辅助发布者。

    查看更多

    声明

    Swift

    @frozen
    public struct MakeThreadSafeObjectChangeset<Upstream, T> : Publisher where Upstream : Publisher, T : ThreadConfined, Upstream.Output == ObjectChange<T>
  • 将具有线程限制的对象变更集传递到串行调度队列的发布者。

    在发出ObjectChange的发布商上使用.threadSafeReference().receive(on: queue)进行创建。

    声明

    Swift

    @frozen
    public struct DeferredHandoverObjectChangeset<Upstream, T, S> : Publisher where Upstream : Publisher, T : ThreadConfined, S : Scheduler, Upstream.Output == ObjectChange<T>
  • 发出 RealmCollectionChange 的发布者每次修改观察到的对象时

    receive(on:)subscribe(on:)可以直接对此发布者调用,并且仅当存在中间转换时才需要调用.threadSafeReference() 。 如果使用subscribe(on:) ,则应始终是管道中的第一个操作。

    使用 RealmCollection 上的changesetPublisher属性创建此发布者。

    查看更多

    声明

    Swift

    @frozen
    public struct CollectionChangeset<Collection> : Publisher where Collection : RealmCollection
  • 发出 RealmMapChange 的发布者每次修改观察到的对象时

    receive(on:)subscribe(on:)可以直接对此发布者调用,并且仅当存在中间转换时才需要调用.threadSafeReference() 。 如果使用subscribe(on:) ,则应始终是管道中的第一个操作。

    使用 RealmCollection 上的changesetPublisher属性创建此发布者。

    查看更多

    声明

    Swift

    @frozen
    public struct MapChangeset<Collection> : Publisher where Collection : RealmKeyedCollection
  • 发出 SectionedResultsChange 的发布者每次修改观察到的对象时

    receive(on:)subscribe(on:)可以直接对此发布者调用,并且仅当存在中间转换时才需要调用.threadSafeReference() 。 如果使用subscribe(on:) ,则应始终是管道中的第一个操作。

    使用 RealmSectionedResult 上的changesetPublisher属性创建此发布者。

    查看更多

    声明

    Swift

    @frozen
    public struct SectionedResultsChangeset<Collection> : Publisher where Collection : RealmSectionedResult
  • 发出 SectionedResultsChange 的发布者每次修改观察到的对象时

    receive(on:)subscribe(on:)可以直接对此发布者调用,并且仅当存在中间转换时才需要调用.threadSafeReference() 。 如果使用subscribe(on:) ,则应始终是管道中的第一个操作。

    使用 RealmSectionedResult 上的changesetPublisher属性创建此发布者。

    查看更多

    声明

    Swift

    @frozen
    public struct SectionChangeset<Collection> : Publisher where Collection : RealmSectionedResult
  • 发出 RealmCollectionChange 的发布者每次修改观察到的对象时

    receive(on:)subscribe(on:)可以直接对此发布者调用,并且仅当存在中间转换时才需要调用.threadSafeReference() 。 如果使用subscribe(on:) ,则应始终是管道中的第一个操作。

    使用 RealmCollection 上的changesetPublisher属性创建此发布者。

    查看更多

    声明

    Swift

    public class CollectionChangesetWithToken<Collection, T> : Publisher where Collection : RealmCollection
  • 发出 SectionedResultsChange 的发布者每次修改观察到的对象时

    receive(on:)subscribe(on:)可以直接对此发布者调用,并且仅当存在中间转换时才需要调用.threadSafeReference() 。 如果使用subscribe(on:) ,则应始终是管道中的第一个操作。

    使用 RealmSectionedResult 上的changesetPublisher属性创建此发布者。

    查看更多

    声明

    Swift

    public class SectionedResultsChangesetWithToken<Collection, T> : Publisher where Collection : RealmSectionedResult
  • 发出 SectionedResultsChange 的发布者每次修改观察到的对象时

    receive(on:)subscribe(on:)可以直接对此发布者调用,并且仅当存在中间转换时才需要调用.threadSafeReference() 。 如果使用subscribe(on:) ,则应始终是管道中的第一个操作。

    使用 RealmSectionedResult 上的changesetPublisher属性创建此发布者。

    查看更多

    声明

    Swift

    public class SectionChangesetWithToken<Collection, T> : Publisher where Collection : RealmSectionedResult
  • 发出 RealmMapChange 的发布者每次修改观察到的对象时

    receive(on:)subscribe(on:)可以直接对此发布者调用,并且仅当存在中间转换时才需要调用.threadSafeReference() 。 如果使用subscribe(on:) ,则应始终是管道中的第一个操作。

    使用 RealmCollection 上的changesetPublisher属性创建此发布者。

    查看更多

    声明

    Swift

    public class MapChangesetWithToken<Collection, T> : Publisher where Collection : RealmKeyedCollection
  • 通过在发出RealmCollectionChange的发布者上调用.threadSafeReference()创建的辅助发布者。

    查看更多

    声明

    Swift

    @frozen
    public struct MakeThreadSafeCollectionChangeset<Upstream, T> : Publisher where Upstream : Publisher, T : RealmCollection, Upstream.Output == RealmCollectionChange<T>
  • 通过在发出RealmMapChange的发布者上调用.threadSafeReference()创建的辅助发布者。

    查看更多

    声明

    Swift

    @frozen
    public struct MakeThreadSafeKeyedCollectionChangeset<Upstream, T> : Publisher where Upstream : Publisher, T : RealmKeyedCollection, Upstream.Output == RealmMapChange<T>
  • 通过在发出SectionedResultsChange的发布者上调用.threadSafeReference()创建的辅助发布者。

    查看更多

    声明

    Swift

    @frozen
    public struct MakeThreadSafeSectionedResultsChangeset<Upstream, T> : Publisher where Upstream : Publisher, T : RealmSectionedResult, Upstream.Output == SectionedResultsChange<T>
  • 将线程限制的collection变更集传递到串行调度队列的发布者。

    在发出RealmCollectionChange的发布商上使用.threadSafeReference().receive(on: queue)进行创建。

    声明

    Swift

    @frozen
    public struct DeferredHandoverCollectionChangeset<Upstream, T, S> : Publisher where Upstream : Publisher, T : RealmCollection, S : Scheduler, Upstream.Output == RealmCollectionChange<T>
  • 将线程限制的Map变更集传递到串行调度队列的发布者。

    在发出RealmMapChange的发布商上使用.threadSafeReference().receive(on: queue)进行创建。

    声明

    Swift

    @frozen
    public struct DeferredHandoverKeyedCollectionChangeset<Upstream, T, S> : Publisher where Upstream : Publisher, T : RealmKeyedCollection, S : Scheduler, Upstream.Output == RealmMapChange<T>
  • 将线程限制的collection变更集传递到串行调度队列的发布者。

    在发出RealmCollectionChange的发布商上使用.threadSafeReference().receive(on: queue)进行创建。

    声明

    Swift

    @frozen
    public struct DeferredHandoverSectionedResultsChangeset<Upstream, T, S> : Publisher where Upstream : Publisher, T : RealmSectionedResult, S : Scheduler, Upstream.Output == SectionedResultsChange<T>
  • 将线程限制的collection变更集传递到串行调度队列的发布者。

    在发出SectionedResultsChange的发布商上使用.threadSafeReference().receive(on: queue)进行创建。

    声明

    Swift

    @frozen
    public struct DeferredHandoverSectionChangeset<Upstream, T, S> : Publisher where Upstream : Publisher, T : RealmSectionedResult, S : Scheduler, Upstream.Output == SectionedResultsChange<T>