按领域中的密钥路径排序

时间:2015-07-27 20:30:38

标签: ios swift realm

在我的应用程序中,我有一个名为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的日期对结果进行分组,因此在“表格”视图中,这些部分是每一天,并且按时间在每个标题下方跳转。

2 个答案:

答案 0 :(得分:0)

正如异常消息所述,尚不支持按密钥路径进行Realm-native排序,但https://github.com/realm/realm-cocoa/issues/1277已在跟踪添加该功能。

至于分组(因为分组与排序基本相同),您还必须手动完成。

答案 1 :(得分:0)

正如segiddins在评论和领域错误中所说,这不是Realm目前支持的功能。

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