我想对一个数组对两个参数进行排序,例如,名称,然后通过描述.
首先按名称排序数组,然后按描述排序数组将不起作用,因为数组不会按名称排序.
首先按名称排序数组,然后按描述排序数组将不起作用,因为数组不会按名称排序.
解决方案应该是这样的:
- var sortedArray = sorted(items,{ (o1: MyObject,o2: MyObject) -> Bool in
- return o1.name < o2.name and o1.description < o2.description
- })
谢谢
@H_404_8@@H_404_8@
你的语法看起来正确只需更改关闭
- return o1.name == o2.name ? (o1.description < o2.description) : (o1.name < o2.name)
如果你想要两个以上的排序标准,我建议使用旧的排序描述符.
@H_404_8@
- let sortedArray = (unsortedArray as NSArray).sortedArrayUsingDescriptors([
- NSSortDescriptor(key: "name",ascending: true),NSSortDescriptor(key: "description",....
- ]) as! [Object]