如何在 Swift 中对对象数组进行排序?
Posted
技术标签:
【中文标题】如何在 Swift 中对对象数组进行排序?【英文标题】:How to sort an array of object in Swift? 【发布时间】:2015-06-23 04:55:20 【问题描述】:我现在是这样写的
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 '((_, _) -> _)'
我搜索了很多其他代码示例,但它们都不起作用,我不知道为什么。有什么建议吗?
【问题讨论】:
startTime
是 NSDate
吗?那么这是***.com/questions/26577496/…的重复:NSDate
s不能直接和<
比较。
【参考方案1】:
是sort
不是sorted
let sortedIntervals = intervals.sort (a, b) in return a.startTime < b.startTime
【讨论】:
【参考方案2】:你做错了。使用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。
【讨论】:
sort 正在改变间隔本身 - 但这是不可变的,因为它是函数的参数。我想要另一个排序的副本。以上是关于如何在 Swift 中对对象数组进行排序?的主要内容,如果未能解决你的问题,请参考以下文章