我有一个游乐场:
let astr = "A"
let bstr = "a"
astr > bstr
"A" > "a"
输出: 首次使用>为false并且第二个错误:
游乐场执行失败:: 69:5:错误:模糊使用运算符'>' " A" > "" ^ 基金会。>:1:6:注意:找到这个候选人 func>(lhs:String,rhs:NSString) - >布尔 ^ 基金会。>:1:6:注意:找到这个候选人 func>(lhs:NSString,rhs:String) - >布尔
这是我所遇到的真正问题的深入探讨:
var team = ["Jane","Kate","George","Zulma"]
let sortedteam = team.sorted({ $0 > $1 })
这给了我同样的错误。
答案 0 :(得分:1)
您可以尝试使用全局排序函数,但不会出现此问题:
var team = ["Jane","Kate","George","Zulma"]
let sortedteam = sorted(team, { $0 > $1 })
或者你可以删除闭包的一些简洁性,因此编译器知道它正在比较的类型。
var team = ["Jane","Kate","George","Zulma"]
let sortedteam = team.sorted({ (s1: String, s2: String) in s1 > s2 })