排序查询
为了对查询进行排序,而不是使用 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()。