fun RealmModel.isLoaded(): Boolean
Verifica se a query usada para localizar este RealmObject foi concluída.
Métodos assíncronos como io. Realm.RealmQuery.findFirstAsync retornar um RealmObject que representa o resultado futuro da RealmQuery. Pode ser considerado semelhante a um java.util.concurrent.Future a este respeito.
Depois que isLoaded()
retornar true
, o objeto representa o resultado da query mesmo que a query não tenha encontrado nenhum objeto que corresponda aos parâmetros da query. Neste caso, o RealmObject se tornará um objeto null
.
Objetos "Null" representa null
. Uma exceção é lançada se qualquer acessador for chamado, portanto, é importante também verificar isValid antes de chamar qualquer método. Um padrão comum é:
val person = realm.where<Person>().findFirstAsync()
person.isLoaded() // == false
person.addChangeListener { p ->
p.isLoaded() // always true here
if(p.isValid()) {
// It is safe to access this person.
}
}
Os RealmObjects síncronos são, por definição, bloqueantes, portanto, este método sempre retornará true
para eles. Esse método retornará true
se for chamado em um objeto não gerenciado (criado fora do Realm).
Return
true
se a query tiver sido concluída, false
se a query estiver em andamento.
Veja também