ValueWithToken

public class ValueWithToken<Subscribable, T> : Publisher where Subscribable : RealmSubscribable, Subscribable : ThreadConfined

オブジェクトがミューテーションされるたびにオブジェクトまたはコレクションを出力する出版社。

  • このパブリックは、変更通知に使用されるワーカー スレッドを作成するときにのみ、リソースが不足しているために失敗します。

    宣言

    Swift

    public typealias Failure = Error
  • この出版社は、公開するオブジェクトまたはコレクションを出力します。

    宣言

    Swift

    public typealias Output = Subscribable
  • サブスクライブ、キャンセル、リクエスト操作を実行するスケジューラーを指定します。

    Realm パブリッシャーの場合、基礎の変更通知がどのキューに送信されるかが決まります。 receive(on:)がその後で使用されない場合は、出版社から受け取ったどのキュー要素が評価されるかも決定されます。 現在はシリアル ディスパッチ キューのみをサポートしており、 options:パラメータはサポートされていません。

    宣言

    Swift

    public func subscribe<S>(on scheduler: S) -> ValueWithToken<Subscribable, T> where S : Scheduler

    パラメーター

    scheduler

    サブスクリプションを実行するためのシリアルディスパッチキュー。

    戻り値

    指定されたスケジューラーをサブスクライブする出版社。

  • 下流操作を実行するスケジューラーを指定します。

    これは、自動更新 サイクルとの統合方法がsubscribe(on:)とは異なります。 subscribe(on:)を使用する場合、サブスクライブはターゲット スケジューラーで実行され、パブリックは更新中に コレクションを発行します。 receive(on:)を使用する場合、コレクションはThreadSafeReferenceに変換され、自動更新サイクルに統合されることなくターゲット スケジューラーに配信されます。つまり、更新が発生した後、一定時間にタイムアウトする可能性があります。

    不明なときは、一般にsubscribe(on:)が必要です。

    宣言

    Swift

    public func receive<S>(on scheduler: S) -> Handover<ValueWithToken, S> where S : Scheduler

    パラメーター

    scheduler

    値を受信するシリアル ディスパッチ キュー。

    戻り値

    指定されたスケジューラーに値を提供する出版社。