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