【问题标题】:Realm: Order of records was changed领域:记录顺序已更改
【发布时间】:2025-11-30 08:50:02
【问题描述】:

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

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

删除前

删除第三条后

问题是:这是功能还是错误?以及如何保持记录顺序?

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

【问题讨论】:

    标签: java android ios swift realm


    【解决方案1】:

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

    一般情况下,这些物品会按照您插入它们的顺序出现,但这不是保证。技术原因的根本原因是我们压缩磁盘上的数据,所以如果您删除列表中间的项目,最后一个项目将被移动到它的位置。

    所以答案是:它按预期工作,如果您希望对结果进行排序,则应使用排序方法。

    【讨论】:

      最近更新 更多