我正在尝试在Swift中按日期对数组数组进行排序,但是出现了这三个错误:
这是数组声明:
let array = [[5.5, 1, 2020-11-05 23:00:00 +0000], [8.0, 2, 2020-11-10 23:00:00 +0000], [5.5, 1, 2020-10-27 23:00:00 +0000]]
这就是我编写的用于对数组进行排序的代码:
let sortedArray = array.sorted(by: { (($0[2]).compare($1[2]))! == .orderedAscending })
array = sortedArray
我该如何解决? 预先感谢
答案 0 :(得分:0)
您需要转换元素以对Date进行排序。以下强制类型转换将每个子数组的最后一个元素转换为Date,如果强制类型转换失败,则将最后对子数组进行排序
let sorted = array.sorted(by: { ($0.last as? Date ?? Date.distantFuture) < ($1.last as? Date ?? Date.distantPast)})