dio*_*Dev 17 arrays sorting parameters swift
我想在两个参数上对数组进行排序,例如,名称,然后是描述.首先按名称排序数组然后按描述排序将不起作用,因为数组不会按名称排序.
解决方案应该是这样的:
var sortedArray = sorted(items, { (o1: MyObject, o2: MyObject) -> Bool in
return o1.name < o2.name and o1.description < o2.description
})
Run Code Online (Sandbox Code Playgroud)
谢谢
Mun*_*ndi 28
您的语法看起来正确.只需将闭包更改为
return o1.name == o2.name ? (o1.description < o2.description) : (o1.name < o2.name)
Run Code Online (Sandbox Code Playgroud)
如果您想要两个以上的排序标准,我建议使用旧式排序描述符.
let sortedArray = (unsortedArray as NSArray).sortedArrayUsingDescriptors([
NSSortDescriptor(key: "name", ascending: true),
NSSortDescriptor(key: "description", ascending: true),
....
]) as! [Object]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5407 次 |
| 最近记录: |