一种逻辑计数器表示,用于执行需要作为顺序一致的事件而不是数字的单独重新分配进行同步的数字更新。

实例,离线客户端1和客户端2都将Counter.value视为0 ,因此都可以调用Counter.increment(1) 。 在线后,该值将收敛为2

支持计数器类型,因为:

  • Mixed values
  • 主键
  • 内部集合
  • 占位符的查询参数(例如 $0 )位于filtered()
    • 如果在筛选时需要使用Counter的值,请使用Counter.value

声明一个计数器

属性模式声明为:

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

创建计数器

Realm.Object上创建计数器时使用number

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

更新计数

使用实例方法更新根本的计数。

可空性

上述属性模式可扩展为支持可空计数器。 Counter从不存储null值本身,而是存储Realm .Object上的计数器属性(例如 myRealmObject.myCounter )可以是null

要从之前的null值创建计数器,或将可空计数器重置为null ,请使用UpdateMode.ModifiedUpdateMode.All

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

构造函数

访问器

方法

构造函数

访问器

  • get value ( ) : number
  • 当前计数。

    返回数字

方法

  • 递减计数。

    参数

    • Optional by : number

      要递减的值。 (默认值: 1

    返回void

  • 递增计数。

    参数

    • Optional by : number

      要递增的值。 (默认值: 1

    返回void

  • 重置计数。

    参数

    • value : number

      要将计数重置为的值。

    返回void

    警告

    递增递减不同,设置计数的行为类似于对根本的值进行定期单独更新。

使用TypeDoc生成