我有一个带有RealmList的RealmObject作为其字段之一.
public class ToyMaker extends RealmObject {
private RealmList<Toy> toyList;
...
}
public class Toy extends RealmObject {
...
}
>当写入Realm并将其读回时,toyList中玩具的顺序是否会被保留?
>如果Realm没有保留订购,我怎样才能手动实现这一点
答:我不能在玩具类中添加额外的字段(例如索引)(玩具可以有很多玩家,因此玩具中的索引字段是不可行的.
B.顺序是将Toy添加到toyList的顺序.
解决方法:
一个RealmList是订购的,所以#1案例是正确的.只需按照您想要的顺序添加它们,该订单将被保留.
一般情况下,不保证排序,因此在Realm中创建2个对象并不意味着订单:
realm.createObject(Person.class, 1);
realm.createObject(Person.class, 2);
// Doing this is not guaranteed to return Person:1
realm.where(Person.class).findAll().first()
// Always use a sort in queries if you want a specific order
realm.where(Person.class).findAllSorted("id", Sort.ASCENDING).first();