排序查詢
為了對查詢進行排序,而不是使用 findAll()
,你應該使用 findAllSorted()
。
RealmResults<SomeObject> results = realm.where(SomeObject.class)
.findAllSorted("sortField", Sort.ASCENDING);
注意:
sort()
返回一個全新排序的 RealmResults,但對此 RealmResults 的更新將重置它。如果你使用 sort()
,你應該總是在你的 RealmChangeListener
中重新排序,從之前的 RealmResults
中刪除 RealmChangeListener
並將其新增到返回的新 RealmResults
中。在由尚未載入的非同步查詢返回的 RealmResults
上使用 sort()
將失敗。
findAllSorted()
將始終返回按欄位排序的結果,即使它已更新。建議使用 findAllSorted()
。