我试图按日期对多维数组进行排序,因为我想用标题创建一个tableview。 在tableview中,每个标题都是一个日期,在下面会有一些事件。 首先,我将一些值添加到我的数组中:
import UIKit
extension String{
func toDateTime() -> NSDate{
//Create Date Formatter
let dateFormatter = NSDateFormatter()
//Specify Format of String to Parse
dateFormatter.dateFormat = "dd-MM-yyyy"
//Parse into NSDate
let dateFromString : NSDate = dateFormatter.dateFromString(self)!
//Return Parsed Date
return dateFromString
}
}
var test = [NSDate: [String]]()
test["10-05-2015".toDateTime()] = ["some event", "another event"]
test["11-06-2014".toDateTime()] = ["test event", "test event2", "test event3"]
test["19-03-2013".toDateTime()] = ["super event", "superevent2", "super event3", "super event4"]
之后我尝试:
test.sort({ $0.compare($1) == .OrderedDescending})
Xcode的错误是: 元组类型的值...没有成员比较
如何按日期排序我的数组?
答案 0 :(得分:2)
let arr = test.sort { $0.0.compare($1.0) == .OrderedDescending }
print(arr)
/*
[(2015-05-09 22:00:00 +0000, ["some event", "another event"]), (2014-06-10 22:00:00 +0000, ["test event", "test event2", "test event3"]), (2013-03-18 23:00:00 +0000, ["super event", "superevent2", "super event3", "super event4"])]
*/
看,结果是(键,值)对的数组,而不是'排序'字典