Arrays swift中基于两个参数的排序数组
我想根据两个参数对数组进行排序,例如,name,然后是description。 先按名称再按描述对数组进行排序是行不通的,因为这样就不会按名称对数组进行排序 解决方案应该是这样的:Arrays swift中基于两个参数的排序数组,arrays,sorting,swift,parameters,Arrays,Sorting,Swift,Parameters,我想根据两个参数对数组进行排序,例如,name,然后是description。 先按名称再按描述对数组进行排序是行不通的,因为这样就不会按名称对数组进行排序 解决方案应该是这样的: var sortedArray = sorted(items, { (o1: MyObject, o2: MyObject) -> Bool in return o1.name < o2.name and o1.description < o2.description
var sortedArray = sorted(items, { (o1: MyObject, o2: MyObject) -> Bool in
return o1.name < o2.name and o1.description < o2.description
})
var-sortedArray=sorted(项,{(o1:MyObject,o2:MyObject)->Bool-in
返回o1.name
谢谢您的语法看起来正确。只需将关闭更改为
return o1.name == o2.name ? (o1.description < o2.description) : (o1.name < o2.name)
因此,它首先根据名称进行排序,然后根据描述进行排序。否则它会同时对两个键进行排序,不会重复。它应该按
名称
(第3部分)排序,当名称相等(第1部分)时,只能按说明
(第2部分)排序。您能告诉我在列表中使用第三个排序过滤器的方法吗?我只能让它工作两天也许你应该问一个新的SOF问题。
let sortedArray = (unsortedArray as NSArray).sortedArrayUsingDescriptors([
NSSortDescriptor(key: "name", ascending: true),
NSSortDescriptor(key: "description", ascending: true),
....
]) as! [Object]