RealmObject 中的 RealmList。如何持久化订单?
RealmList in RealmObject. How to persist order?
我有一个 RealmObject
,其中一个字段是 RealmList
。
public class ToyMaker extends RealmObject {
private RealmList<Toy> toyList;
...
}
public class Toy extends RealmObject {
...
}
toyList
中 Toy
的顺序在写入 Realm 并读回时会保持不变吗?
如果 Realm 不坚持排序,鉴于
我该如何手动实现这一点
一个。我不能在 Toy
class 中添加额外的字段(例如索引)(一个 Toy
可以有很多 ToyMaker
所以 Toy
中的索引字段是不可行的。
乙。排序是按照Toy
加到toyList
.
的顺序
A 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();
我有一个 RealmObject
,其中一个字段是 RealmList
。
public class ToyMaker extends RealmObject {
private RealmList<Toy> toyList;
...
}
public class Toy extends RealmObject {
...
}
toyList
中Toy
的顺序在写入 Realm 并读回时会保持不变吗?如果 Realm 不坚持排序,鉴于
我该如何手动实现这一点一个。我不能在
Toy
class 中添加额外的字段(例如索引)(一个Toy
可以有很多ToyMaker
所以Toy
中的索引字段是不可行的。乙。排序是按照
Toy
加到toyList
. 的顺序
A 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();