gpt4 book ai didi

arrays - 在 swift 中对两个参数的数组进行排序

转载 作者:行者123 更新时间:2023-11-30 13:32:28 50 4
gpt4 key购买 nike

我想根据两个参数对数组进行排序,例如,名称,然后按描述。首先按名称然后按描述对数组进行排序是行不通的,因为这样数组就不会按名称排序。

解决方案应该是这样的:

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", ascending: true),
....
]) as! [Object]

关于arrays - 在 swift 中对两个参数的数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36411772/

50 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com