Вы можете преобразовать строку weekFTC
в Double
и затем сравнить, например, так:
users.sort { (lhs, rhs) -> Bool in
let lhsVal = Double(lhs.weekFTC) ?? 0
let rhsVal = Double(rhs.weekFTC) ?? 0
return lhsVal > rhsVal
}
Прямое сравнение строк выполняет лексикографическое сравнение.
Пример:
var array = ["111", "e3", "22"]
array.sort { (lhs, rhs) -> Bool in
return lhs > rhs
}
print(array) //["e3", "22", "111"]
Итак, мы должны посмотреть, можно ли преобразовать строку в число, и затем отсортировать.
На этот раз будет выполнено числовое сравнение, например:
var array = ["111", "e3", "22"]
array.sort { (lhs, rhs) -> Bool in
let lhs = Double(lhs) ?? 0
let rhs = Double(rhs) ?? 0
return lhs > rhs
}
print(array) //["111", "22", "e3"]