我有这个数组:
let arraRisultati = DataManager.shared.storage.filter { $0.Data < NSDate() as Date }
我可以使用“排序”功能按时间顺序订购其元素吗?
首先,如果你只想获得其日期早于现在的元素,最好只选择一次当前日期,你可以直接将它作为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 })