我有一个tableview,其中有多个日期。我需要对日期进行排序,以便最下降的日期位于顶部((indexPath.row == 0)
),过去的日期需要位于底部((indexPath.row == ´lastRows´)
)以及其他即将到来的日期之间。
我一直在寻找,但没有找到合适的解决方案。以下代码仅显示最早的日期 - 未能按照我的意愿将过去的日期放在底部。 (见图片更清楚的问题示例,我想要的那种:
过去的日期 )
dqItems.sort(by: {$0.date < $1.date})
有没有办法实现这个目标?或者,当日期成为过去时,将日期(及其单元格)推送到表格视图的底部?
答案 0 :(得分:0)
只需将“小于”符号更改为“大于”:
dqItems.sort(by: {$0.date > $1.date})
答案 1 :(得分:0)
使用.sorted来获取已排序的副本,而不是使用.sort。然后搜索已排序的副本以查找当前时间所属的位置。使用该索引制作几个切片并将切片复制到您想要的位置(返回原始数组中)。