【问题标题】:Sorting by keypath in Realm在 Realm 中按 keypath 排序
【发布时间】:2015-07-27 20:30:37
【问题描述】:

在我的应用程序中,我有一个名为 Trip 的 Realm 模型,它存储有关豪华轿车旅行的信息。每个行程都有许多与之关联的位置模型。我想按旅行第一个位置上的arriveAt 值对我的旅行进行排序。基本上我想要:

let realm = Realm()
let trips = realm.objects(Trip).filter("closed = false").sorted("locations[0].arriveAt")
// Results with Terminating app due to uncaught exception 'Invalid sort property', reason: 'Cannot sort on 'locations[0].arriveAt': sorting on key paths is not supported.'

Realm 是否可以在不将我的结果对象转换为数组的情况下实现这一点?


编辑:

我还希望按locations[0].arriveAt 的日期对我的结果进行分组,因此在表格视图中,这些部分是每天,每个标题下的行程按时间。

【问题讨论】:

    标签: ios swift realm


    【解决方案1】:

    正如异常消息所说,还不支持按关键路径排序的 Realm-native 排序,但 https://github.com/realm/realm-cocoa/issues/1277 已经在跟踪添加该功能。

    至于分组(因为分组本质上与排序相同),您还必须手动进行。

    【讨论】:

      【解决方案2】:

      正如segiddins 在他的评论以及领域错误中所说,这不是领域当前支持的功能。

      为了支持排序,我在我的 Trip 模型中添加了一个 startedAt 属性,它反映了 trip.locations[0].arriveAt 并按此排序。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-02-06
        • 1970-01-01
        • 1970-01-01
        • 2017-01-10
        • 1970-01-01
        • 1970-01-01
        • 2020-01-11
        相关资源
        最近更新 更多