在懒惰的地图集合中按日期快速排序

时间:2016-03-07 12:00:26

标签: ios swift sorting

我正在使用延迟地图集合来保存数据并使用此默认函数通过使用名称(这是现有字段之一)对数组进行排序现在我想使用已保存在其中一个中的日期对其进行排序参数。我该怎么想这样做。

let resultingSecs = secs.values.map { uts in
        (uts.0, uts.1.sort(<))
    }.sort { (luts, ruts) -> Bool in
        luts.0.name < ruts.0.name
    }

secs是一个数组var secs: [UUID: (User, [Timeline])] = [:]

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
    }

我现在想要使用上面的代码

1 个答案:

答案 0 :(得分:0)

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
}

使用此代码解决了该问题。问题是我的日期1和日期2的价值