我在iOS应用中使用了realm db(https://realm.io/),我发现了一个奇怪的行为。我在订单record1,record2和record3中向表中插入了几条记录,但是,在我的一个客户的iPad中,读取结果的顺序是随机的,但在我的iPad中,读取顺序始终与insert:record1相同, record2和record3。
有没有人有一些线索为什么会这样?
答案 0 :(得分:3)
默认情况下,无法保证插入数据库时Realm对象的顺序。
如果要显式控制对象列表的排序,最佳做法是创建另一个Realm模型类(例如MyObjectList
),向其添加一个Realm List
对象,并添加您希望作为该对象的子项订购的对象。
另一种方法是为对象添加额外的属性,例如orderedIndex
并向上递增。当您查询对象时,然后使用.sort()
方法按该属性进行排序。