如何在Swift中对对象数组进行排序?

时间:2015-06-23 04:55:20

标签: ios swift

我目前正在写这样的

static func fromIntervals(intervals: [Interval]) -> ChartData {
    let sortedIntervals = intervals.sorted { (a, b) in return a.startTime < b.startTime}
}

但它显示错误

Cannot invoke 'sorted' with an argument list of type '((_, _) -> _)'

我搜索了很多其他代码示例,但没有一个能够工作,我不知道为什么。有什么建议吗?

2 个答案:

答案 0 :(得分:1)

sort而非sorted

let sortedIntervals = intervals.sort { (a, b) in return a.startTime < b.startTime}

答案 1 :(得分:1)

你做错了。使用sort代替sorted

static func fromIntervals(intervals: [Interval]) -> ChartData {
    let sortedIntervals = intervals.sort { (a, b) in return a.startTime < b.startTime}
}

修改

let sortedIntervals = sorted(intervals, { (a: Object, b: Object) -> Bool in return a.startTime < b.startTime } )

有关详细信息,请参阅Apple's Doc

希望这会有所帮助.. :)