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

isLoaded

fun RealmModel.isLoaded(): Boolean

이 RealmObject를 찾는 데 사용된 쿼리가 완료되었는지 확인합니다.

io.io와 같은 비동기 메서드 . 영역.RealmQuery.findFirstAsync 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 을(를) 반환합니다.

Return
true 쿼리가 완료되면 false , 쿼리가 진행 중이면 을 반환합니다.

다음도 참조하세요.

isValid