我的模型有一个领域对象,它通过 propertyGroupOfEvents
与领域对象建立了一对多的关系。每个人都有一个财产。Event
events
Event
date
我有一个Results<GroupOfEvents>
,我想按date
中的第一个事件排序events
。如果我对一个常规的 swift 数组进行排序,它看起来像:
groupsOfEvents.sorted(by: { $0.events.first!.date > $1.events.first!.date })
这是我对 a 进行排序的失败尝试Results<GroupOfEvents>
:
groupsOfEvents.sorted(byKeyPath: "events.first.date")
它给出了错误:
'无法对关键路径'events.first.date'进行排序:属性'GroupOfEvents.events'的类型'array'不受支持。'
我怎样才能按照我想要的方式对其进行排序?
你可能会问我的问题:
你为什么按第一个事件的日期排序?这不是人们通常会做的事情。
事实上,GroupOfEvents
包含具有相同日期的事件,因此使用任何事件的日期events
都可以。
你为什么不把date
财产搬到GroupOfEvents
?
是的,我可以这样做,但我正在寻找替代方案。
您为什么不摆脱GroupOfEvents
并在日期之前获得所有Events
当时的小组?
尽管所有events
的GroupOfEvents
日期都相同。两个不同的事件GroupOfEvents
也可以有相同的日期。还有其他的特性可以区分GroupOfEvents
。