排序查询

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