Enum ImportFlag
io.realm
このクラスでは、オブジェクト全体を保存するときに Realm にデータを保存する方法について説明します。
列挙定数の概要
列挙定数と説明 |
---|
このフラグを有効にすると、Realm にすでに存在する値と同じ値が含まれているフィールドは、Realm ファイルに書き込まれません。 |
メソッドの概要
修飾子と型 | メソッドと説明 |
---|---|
public static ImportFlag | |
public static ImportFlag | values () |
継承されたメソッド
クラス java.lang.Object から継承されたメソッド :
getClass
、hashCode
、equals
、clone
、toString
、notify
、notifyAll
、wait
、wait
、wait
、finalize
クラス java.lang.Enum から継承されたメソッド :
name
、ordinal
、toString
、equals
、hashCode
、clone
、compareTo
、getDeclaringClass
、valueOf
、finalize
列挙定数の詳細
CHECK_SAME_VALUES_BEFORE_SET
public static final ImportFlag
このフラグを有効にすると、フィールドにすでに存在する値と同じ値が含まれている場合は、フィールドは Realm ファイルに書き込まれません。ローカル Realm の場合、これは変更リスナーにのみ影響し、次のフィールドへの変更を報告しません。書込み (write) されていない。
同期された Realm の場合、これはサーバーにも影響します。サーバー Realm にアップロードおよびマージする変更が少ないため、パフォーマンスが向上します。
また、サーバーがさまざまなデバイスからの変更をマージする方法にも影響します。 Realm は、オブジェクト内の個々のフィールドをマージするときに last-write-wins アプローチを使用するため、フィールドが書き込まれない場合は、変更された他のフィールドよりも「古い」と見なされます。
例:
サーバーは、(フィールド A = 1、フィールド B = 1)で起動します
デバイス 1 の書込み (write)(フィールド A = 2、フィールド B = 2)。
デバイス 2 は(フィールド A = 3、フィールド B = 1)を書き込みますが、(フィールド B = 1)は無視します。これは、この時点での Realm ファイル内の 値であるためです。
デバイス 1 は、その変更をサーバーにアップロードします(フィールド A = 2、フィールド B = 2)。 次に、デバイス 2 はその変更をアップロードします。 前回の書込み保証 (write-win) により、サーバーのバージョンは (フィールド A = 3、フィールド B = 2)になりました。
これは通常、最終オブジェクトが両方のデバイスの最新の変更をマージした結果であるため、通常必要な動作ですが、オブジェクト内のすべてのフィールドがアトミックな単位と見なされる場合は、すべてのフィールドが保証されるため、このフラグを設定しないでくださいが設定されているため、データがサーバーに送信されるときの「経過時間」は同じになります。
メソッドの詳細
valueOf
values
public static ImportFlag values () |
---|