Ios 惰性地图集合中的swift按日期排序
我正在使用lazy map collection保存数据,并使用此默认函数通过使用名称(这是一个现有字段)对数组进行排序。现在,我希望使用已保存在其中一个参数中的日期对其进行排序。我该怎么做呢Ios 惰性地图集合中的swift按日期排序,ios,swift,sorting,Ios,Swift,Sorting,我正在使用lazy map collection保存数据,并使用此默认函数通过使用名称(这是一个现有字段)对数组进行排序。现在,我希望使用已保存在其中一个参数中的日期对其进行排序。我该怎么做呢 let resultingSecs = secs.values.map { uts in (uts.0, uts.1.sort(<)) }.sort { (luts, ruts) -> Bool in luts.0.name < ruts.0.na
let resultingSecs = secs.values.map { uts in
(uts.0, uts.1.sort(<))
}.sort { (luts, ruts) -> Bool in
luts.0.name < ruts.0.name
}
我现在尝试使用上面的代码let resultingSecs=secs.values.map{uts in
let resultingSecs = secs.values.map { uts in
(uts.0, uts.1.sort(<))
}.sort { (luts, ruts) -> Bool in
var date1 = luts.0.updated_at
var date2 = ruts.0.updated_at
var dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
let status:Bool = dateFormatter.dateFromString(date1)?.compare(dateFormatter.dateFromString(date2)!) == NSComparisonResult.OrderedAscending
return status
}
(uts.0,uts.1.排序(Bool-in
var date1=luts.0.0更新时间
var date2=ruts.0.0更新时间
var dateFormatter=NSDateFormatter()
dateFormatter.dateFormat=“yyyy-MM-dd HH:MM:ss”
let状态:Bool=dateFormatter.dateFromString(date1)?.compare(dateFormatter.dateFromString(date2)!)==NSComparisonResult.OrderedAsceding
返回状态
}
使用此代码解决了此问题。问题是我的日期1的值和日期2即将到来我不理解“我想使用已保存在其中一个参数中的日期对其进行排序”。您想使用什么作为排序标准?我有一个具有不同时间线(用户)的数组数据,目前它们是按用户名排序的,如代码中所示。我想按日期对它们进行排序…您的代码似乎足够好。不过,我会使用
dateFormatter.dateFromString(date1)!而不是?
,因为它使dateFromString为null时的行为非常违反直觉。而且在代码中似乎暗示这种情况不应该发生现在它可以工作了,谢谢@YoavSchwartz
let resultingSecs = secs.values.map { uts in
(uts.0, uts.1.sort(<))
}.sort { (luts, ruts) -> Bool in
var date1 = luts.0.updated_at
var date2 = ruts.0.updated_at
var dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
let status:Bool = dateFormatter.dateFromString(date1)?.compare(dateFormatter.dateFromString(date2)!) == NSComparisonResult.OrderedAscending
return status
}