我有像
这样的字符串[
"71ADDC23D2048",
"9BF4F631EBA69",
"B123454F4F631EBA69",
"123454F4F6345FGT"
]
我当前的排序代码是:
// Sorting the Tans
func sortByTagID(arrayTags:[TansIDS],orderBy:String) -> [TansIDS] {
if orderBy.uppercased() == OrderBy.Ascending {
let sortedArray = arrayTags.sorted {String($0.trans-id!).localizedStandardCompare(String($1.trans-id!)) == .orderedAscending}
return sortedArray
}
else {
let sortedArray = arrayTags.sorted {String($0.trans-id!).localizedStandardCompare(String($1.trans-id!)) == .orderedDescending}
return sortedArray
}
}
请告诉我是否有比这更好的排序方法?因为当我与其他平台(Android)进行比较时,它不一样。
最佳答案
试试这个
func sortByTagID(arrayTags:[TansIDS],orderBy:String) -> [TansIDS] {
if orderBy.uppercased() == OrderBy.Ascending {
let sortedArray = arrayTags.sorted {String($0.trans-id!) < String($1.trans-id!)}
return sortedArray
}
else {
let sortedArray = arrayTags.sorted {String($0.trans-id!) > String($1.trans-id!)}
return sortedArray
}
}
输出升序:
[
"123454F4F6345FGT",
"71ADDC23D2048",
"9BF4F631EBA69",
"B123454F4F631EBA69"
]
输出降序:
[
"B123454F4F631EBA69",
"9BF4F631EBA69",
"71ADDC23D2048",
"123454F4F6345FGT"
]
关于ios - 使用 Swift 4 及更高版本对十六进制数进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58967338/