我有这个问题。我有这个带有两个位置字段的向量:
fecha: 9/10/2017
turno: 0
fecha: 9/10/2017
turno: 6
fecha: 9/10/2017
turno: 17
fecha: 10/10/2017
turno: 17
为了订购,我使用这段代码:
self.TodasMisCitas.sort {
if ($0.fecha as Date == $1.fecha as Date) {
return ($0.turno) > ($1.turno)
}
return ($0.fecha) > ($1.fecha)
}
这是输出:
对我来说正确的输出是:
martes 10/10/2017
lunes 09/10/2017 a las 10:00
lunes 09/10/2017 a las 11:30
lunes 09/10/2017 a las 16:00
有人知道发生了什么事吗?
答案 0 :(得分:0)
当您将日期与==进行比较时,您应该考虑当天而不是整个日期。我无法编译,但我认为它应该是这样的:
self.TodasMisCitas.sort {
if Calendar.current.compare($0.fecha, to: $1.fecha, toGranularity: .day) == .orderedSame {
return ($0.turno) > ($1.turno)
}
return ($0.fecha) > ($1.fecha)
}