领域:记录顺序已更改

时间:2016-05-27 10:13:53

标签: java android ios swift realm

我正在尝试使用Android Realm开发我的database应用。

今天我遇到了以下问题: 我在表中添加了一个记录列表,然后尝试删除其中一个。 在删除其余的顺序后更改(它与删除前的顺序不同)。 请参阅下面的图片以查看详细信息。

删除前

enter image description here

删除第3项后

enter image description here

问题是:这是一个功能还是一个错误?我怎样才能保持记录的顺序?

我知道我可以轻松地获得正确的顺序,因为我想添加一个新字段作为createTime或类似的东西,但我想找到一个非常简单的解决方案作为Realm的配置。

1 个答案:

答案 0 :(得分:5)

默认情况下,Realm中的项目不会排序,因此您应该将任何查询结果视为无序集合,除非您明确对其进行排序。

一般来说,这些项目会按照您插入的顺序出现,但不是保证。技术原因的根本原因是我们压缩磁盘上的数据,因此如果删除列表中间的项目,最后一项将移动到其位置。

所以答案是:它按预期工作,如果你想要对结果进行排序,你应该使用排序方法。

相关问题