У меня есть площадка:Swift Струнного поведения перегрузки «>»
let astr = "A"
let bstr = "a"
astr > bstr
"A" > "a"
Выход: ложны для первого использования> и ошибок для второго:
исполнения площадки не удалось:: 69: 5: ошибка: неоднозначное использование оператора '>' «A»> «a» ^ Фонд.>: 1: 6: примечание: найдено этого кандидата func> (lhs: String, rhs: NSString) - > Bool ^ Фонд.>: 1: 6: примечание: нашел этого кандидата FUNC> (LHS: NSString, шк: String) -> Bool
Это сверло вниз реальной проблемы у меня возникли:
var team = ["Jane","Kate","George","Zulma"]
let sortedteam = team.sorted({ $0 > $1 })
Это дает мне ту же ошибку.
Я не могу объяснить, почему, но вы можете решить это, изменив сравнение: Замените '{$ 0> $ 1}' на '{$ 1 <$ 0}'. –
Это правда ... странно. И ошибка, которую она дает, действительно не помогает. Для первой части вопроса разница выглядит глупо. Tks for Work around – Franklin
@MartinR По какой-то причине он также работает, если вы помещаете туда явный 'return':' {return $ 0> $ 1} ' –