객체변경

이 봉인된 인터페이스는 Realm 객체에서 관찰할 수 있는 가능한 변경 사항을 설명합니다.

특정 상태는 특정 하위 클래스 InitialObject, UpdatedObjectDeletedObject 로 표시됩니다.

따라서 변경 사항은 여러 가지 방법으로 사용할 수 있습니다.

// 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] 재정의 val obj: O?

관찰 중인 객체의 최신 상태를 반환합니다. 객체가 삭제된 경우 null 이 반환됩니다.