排序查詢

為了對查詢進行排序,而不是使用 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()