我有这个数组:
let arraRisultati = DataManager.shared.storage.filter { $0.Data < NSDate() as Date }
我可以使用“排序”功能按时间顺序排列其元素吗?
答案 0 :(得分:1)
首先,如果您只希望获得日期早于之前的元素,最好只选择一次当前日期,并且可以直接将其作为Date
执行:
let now = Date()
let arraRisultati = DataManager.shared.storage.filter { $0.date < now }
由于Date
为Comparable
,您可以按照以下方式对其进行排序:
let sortedResults = arraRisultati.sorted(by: { $0.date < $1.date })
如果您愿意,可以在一个表达式中执行:
let now = Date()
let arraRisultati = DataManager.shared.storage.filter({ $0.date < now }).sorted(by: { $0.date < $1.date })