객체 변경
이 봉인된 인터페이스는 Realm 객체에서 관찰할 수 있는 가능한 변경 사항을 설명합니다.
특정 상태는 특정 하위 클래스 InitialObject, UpdatedObject 및 DeletedObject 로 표시됩니다.
따라서 변경 사항은 여러 가지 방법으로 사용할 수 있습니다.
// 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)
}
클립보드에 복사된 콘텐츠
업데이트 변경 상태 의 경우 이전 버전에서 업데이트된 필드 이름이 포함된 목록이 제공됩니다.