【问题标题】:Sorting a List in Realm Swift在 Realm Swift 中对列表进行排序
【发布时间】:2019-01-02 22:41:08
【问题描述】:

我有一个对象列表,我需要按date 属性对其进行排序。我正在使用该列表来显示 UITableView 中的项目

我的问题是,在 Realm 中对 List 进行排序会返回 Results<myItem> 而不是 List<myItem> 对象。

在 Realm 中对 List 进行排序而不将其转换为 Results 对象的正确方法是什么?

【问题讨论】:

  • 你要求它是一个列表的原因是什么?
  • List 与父对象是一对多的关系,所以很自然地把它留为一个列表
  • 啊,我明白了。在这种情况下,对我来说,以排序的方式插入对象似乎是最合乎逻辑的,而不是稍后对它们进行排序。
  • 事情是用户可以稍后更改日期,需要再次排序
  • 否则,我认为使用内置的sorted 函数将是可行的方法,尤其是因为它会自动更新,即使您不想使用它

标签: ios swift realm


【解决方案1】:

解决方法可以是:

  1. 每次插入记录时,添加额外字段,如日期属性的timestamp(以毫秒为单位)。 (如果您根据数据字段对数据进行排序,则不需要)
  2. 排序查询data = data!.sorted(byKeyPath: "date", ascending: false)for more options
  3. 领域查询将只返回 RLMResult。for unmanaged object

【讨论】:

    猜你喜欢
    • 2017-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-12
    • 2015-09-13
    • 2012-01-15
    相关资源
    最近更新 更多