ObjectchangesetWithToken
public class ObjectChangesetWithToken<O, T> : Publisher where O : Object
Objectchange を発行する出版社
receive(on:)
とsubscribe(on:)
はこの出版社で直接呼び出せます。 .threadSafeReference()
を呼び出す必要があるのは中間変換がある場合のみです。 subscribe(on:)
が使用される場合、常にパイプラインの最初の操作になる必要があります。
objectChangeset()
関数を使用してこのパブリックを作成します。
-
この出版社は Object Change を発行します
監視対象オブジェクトを変更する書込みトランザクション (write transaction) 後に Realm が更新されるたびにどのオブジェクトとそのオブジェクトのどのプロパティが変更されたかを示します。 宣言
Swift
public typealias Output = ObjectChange<O>
-
このサイトでは、 Object Change の
.error
ケースでエラーが報告されています。宣言
Swift
public typealias Failure = Never
-
サブスクライブ、キャンセル、リクエスト操作を実行するスケジューラーを指定します。
Realm パブリッシャーの場合、基礎の変更通知がどのキューに送信されるかが決まります。
receive(on:)
がその後で使用されない場合は、出版社から受け取ったどのキュー要素が評価されるかも決定されます。 現在はシリアル ディスパッチ キューのみをサポートしており、options:
パラメータはサポートされていません。宣言
Swift
public func subscribe<S>(on scheduler: S) -> ObjectChangesetWithToken<O, T> where S : Scheduler
パラメーター
scheduler
サブスクリプションを実行するためのシリアルディスパッチキュー。
戻り値
指定されたスケジューラーをサブスクライブする出版社。
-
下流操作を実行するスケジューラーを指定します。
これは、自動更新 サイクルとの統合方法が
subscribe(on:)
とは異なります。subscribe(on:)
を使用する場合、サブスクライブはターゲット スケジューラーで実行され、パブリックは更新中に コレクションを発行します。receive(on:)
を使用する場合、コレクションはThreadSafeReference
に変換され、自動更新サイクルに統合されることなくターゲット スケジューラーに配信されます。つまり、更新が発生した後、一定時間にタイムアウトする可能性があります。不明なときは、次が必要です
subscribe(on:)
宣言
Swift
public func receive<S>(on scheduler: S) -> DeferredHandoverObjectChangeset<ObjectChangesetWithToken, T, S> where O == T, S : Scheduler
パラメーター
scheduler
値を受信するシリアル ディスパッチ キュー。
戻り値
指定されたスケジューラーに値を提供する出版社。