【发布时间】:2018-03-02 17:18:59
【问题描述】:
我有这个数组:
let arraRisultati = DataManager.shared.storage.filter { $0.Data < NSDate() as Date }
我可以使用“排序”功能按时间顺序对其元素进行排序吗?
【问题讨论】:
-
您发布了使用过滤器的错误尝试。您的排序尝试在哪里?
我有这个数组:
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 })
【讨论】: