通過服務器獲取到一個json數組,有可能數組裏的數據時亂序的,當有需求要按照時間的順序顯示數組中的model,便可利用swift中的sorted函數來進行排序。
代碼如下:
//按日期排序
self.dataDayArr = dataArray.sorted(by: { (obj1, obj2) -> Bool in
let dateFormater = DateFormatter()
dateFormater.dateFormat = "YYYY-MM-dd"
let date1 = dateFormater.date(from: (obj1.date)!)
let date2 = dateFormater.date(from: (obj2.date)!)
return date1?.compare(date2!) == .orderedDescending
})
ocmpare函數解析:
其中:
q orderedAscending(-1):左操作數小於右操作數。
q orderedSame(0): 兩個操作數相等。
q orderedDescending(1):左操作數大於右操作數。