ObjetoMudar

Esta interface selada descreve as possíveis alterações que podem ser observadas em um objeto de Realm.

Os estados específicos são representados pelas subclasses específicas InitialObject, UpdatedObject e DeletedObject.

As mudanças podem ser consumidas de várias maneiras:

// 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)
}

Para alterações de estado de atualização, é fornecida uma lista com os nomes de campo atualizados da versão anterior.

Herdeiros

Propriedades

Link copiado para a área de transferência
resumo Sobrepor valid obj: O?

Retorna o estado mais recente do objeto que está sendo observado. null é retornado se o objeto tiver sido excluído.