使用夫特4 &夫特3
let testArray = ["25 Jun, 2016", "30 Jun, 2016", "28 Jun, 2016", "2 Jul, 2016"]
var convertedArray: [Date] = []
var dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd MM, yyyy"// yyyy-MM-dd"
for dat in testArray {
let date = dateFormatter.date(from: dat)
if let date = date {
convertedArray.append(date)
}
}
var ready = convertedArray.sorted(by: { $0.compare($1) == .orderedDescending })
print(ready)
使用夫特2
例如,你有日期的阵列和另一个1个阵列,那里保存转换日期:
var testArray = ["25 Jun, 2016", "30 Jun, 2016", "28 Jun, 2016", "2 Jul, 2016"]
var convertedArray: [NSDate] = []
之后,我们转换日期:
var dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "dd MM, yyyy"// yyyy-MM-dd"
for dat in testArray {
var date = dateFormatter.dateFromString(dat)
convertedArray.append(date!)
}
而结果:
var ready = convertedArray.sort({ $0.compare($1) == .OrderedDescending })
print(ready)
您是否再次使用排序功能?这不能自动设置。每次添加新对象时,对其进行排序的唯一方法就是创建数组扩展,并且每次使用AddObject时都必须调用此排序函数。 –
我的意思是我从api得到完整数组后,我将整个数组与对象排序,这意味着我不会在排序后添加对象。但它没有正确分类。 @AltimirAntonov –
首先将字符串转换为NSDate。我会在几分钟内写出答案。 –