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
。
另请参阅