在我的应用程序中,我有一个名为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
的日期对结果进行分组,因此在“表格”视图中,这些部分是每一天,并且按时间在每个标题下方跳转。
答案 0 :(得分:0)
正如异常消息所述,尚不支持按密钥路径进行Realm-native排序,但https://github.com/realm/realm-cocoa/issues/1277已在跟踪添加该功能。
至于分组(因为分组与排序基本相同),您还必须手动完成。
答案 1 :(得分:0)
正如segiddins在评论和领域错误中所说,这不是Realm目前支持的功能。
为了支持排序,我在startedAt
模型中添加了Trip
属性,该模型反映了trip.locations[0].arriveAt
并按其排序。