我正在尝试使用Android
Realm
开发我的database
应用。
今天我遇到了以下问题: 我在表中添加了一个记录列表,然后尝试删除其中一个。 在删除其余的顺序后更改(它与删除前的顺序不同)。 请参阅下面的图片以查看详细信息。
删除前
删除第3项后
问题是:这是一个功能还是一个错误?我怎样才能保持记录的顺序?
我知道我可以轻松地获得正确的顺序,因为我想添加一个新字段作为createTime或类似的东西,但我想找到一个非常简单的解决方案作为Realm的配置。
答案 0 :(得分:5)
默认情况下,Realm中的项目不会排序,因此您应该将任何查询结果视为无序集合,除非您明确对其进行排序。
一般来说,这些项目会按照您插入的顺序出现,但不是保证。技术原因的根本原因是我们压缩磁盘上的数据,因此如果删除列表中间的项目,最后一项将移动到其位置。
所以答案是:它按预期工作,如果你想要对结果进行排序,你应该使用排序方法。