オブジェクト変更

インターフェース Objectchange<O : baseRealmObject> : SingleQuerychange < O >

このシークレット インターフェースは、Realm オブジェクトで観察できる変更を記述します。

特定の状態は、特定のサブクラス、 InitialObjectUpdatedObjectDeletedObjectによって表されます。

したがって、変更はさまざまな方法で消費されます。

// Variant 1: Switch on the sealed interface
realm.filter<Person>().first().asFlow()
.collect { objectChange: ObjectChange<Person> ->
when(objectChange) {
is InitialObject -> initPersonUI(objectChange.obj)
is UpdatedObject -> updatePersonUi(objectChange.obj, objectChange.changedFields)
is DeletedObject -> removePersonUi()
}
}


// Variant 2: Just pass on the object
realm.filter<Person>().first().asFlow()
.collect { objectChange: ObjectChange<Person> ->
handleChange(objectChange.obj)
}

更新の変更状態では、前のバージョンから更新されたフィールド名を含むリストが提供されます。

継承

プロパティ

クリップボードにコピーされたリンク
抽象 [readConcern] の上書き 価値 obj: O?

監視されているオブジェクトの最新の状態を返します。 オブジェクトが削除された場合は、 nullが返されます。