Swift String过载行为'>'

时间:2014-10-16 21:11:40

标签: ios iphone swift ios8

我有一个游乐场:

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 })

这给了我同样的错误。

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 })