kotlin-extensions / io.realm.kotlin / io.realm.RealmModel / isLoaded

isLoaded

fun RealmModel.isLoaded(): Boolean

检查用于查找此 RealmObject 的查询是否已完成。

异步方法,如io. 域 返回一个表示 RealmQuery 的未来结果的 RealmObject。 在这方面,它可以被认为与java.util.concurrent.Future类似。

一旦isLoaded()返回true ,即使查询未找到与查询参数匹配的任何对象,该对象也会表示查询结果。 在这种情况下,RealmObject 将成为null对象。

“Null”对象表示null 。 调用任何访问器都会引发异常,因此在调用任何方法之前检查 isValid 非常重要。 一种常见的模式是:

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.
    }
}

根据定义,同步 RealmObject 是阻塞的,因此此方法将始终为其返回true 。 如果对非托管对象(在 Realm 外部创建)调用,此方法将返回true

返回
true 如果查询已完成,则如果查询正在进行,则为false

另请参阅

isValid