数値更新を実行するための論理カウンター。同期する必要がある数値の個々の割り当てではなく、連続して整合性のあるイベントとして同期する必要があります。

たとえば、オフラインのクライアント1とクライアント2はどちらもCounter.value0として認識しており、両方ともCounter.increment(1)を呼び出すことができます。 オンラインになると、値は2に変換されます。

counter タイプは、以下ではサポートされていません

  • Mixed values
  • プライマリキー
  • コレクション内
  • プレースホルダーのクエリ引数(例: Filtered()$0 )
    • フィルタリング時にCounterの値を使用する必要がある場合は、 Counter.valueを使用します。

counter の宣言

プロパティ スキーマは、次のいずれかとして宣言されます。

  • "counter"
  • { type: "int", presentation: "counter" }

カウンターの作成

Realm.Objectでカウンターを作成するときは、 numberを使用します。

realm.write(() => {
realm.create(MyObject, { _id: "123", counter: 0 });
});

カウントの更新

基礎となるカウントをアップデートするには、 インスタンス メソッドを使用します。

null 可能性

上記のプロパティ スキーマを拡張すると、null 可能なカウンターが可能になります。 Counternullの値自体を保存することはありませんが、 Realm.Objectのカウンタープロパティ(例: myRealmObject.myCounter )はnullになります。

以前のnull値からカウンターを作成したり、null 可能なカウンターをnullにリセットするには、 UpdateMode.ModifiedまたはUpdateMode.Allを使用します。

realm.write(() => {
realm.create(MyObject, { _id: "123", counter: 0 }, UpdateMode.Modified);
});

コンストラクター

アクセス

メソッド

コンストラクター

アクセス

  • 取得 :数値
  • 現在のカウント。

    数値を返します

メソッド

  • カウントを減算します。

    パラメーター

    • Optional :数値

      減算する値。 (デフォルト: 1

    Returns void

  • カウントを増やします。

    パラメーター

    • Optional :数値

      インクリメントする値。 (デフォルト: 1

    Returns void

  • カウントをリセットします。

    パラメーター

    • :数値

      カウントをリセットする値。

    Returns void

    警告

    インクリメントデクリメントとは異なり、カウントを設定すると、基礎の値に対する通常の個別の更新と同様に動作します。

TypeDocを使用して生成