通过服务器获取到一个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):左操作数大于右操作数。