[英]Swift String overload behavior of '>'
我有一個操場:
let astr = "A"
let bstr = "a"
astr > bstr
"A" > "a"
輸出:第一次使用>時為false,第二次使用時為錯誤:
游樂場執行失敗::69:5:錯誤:不明確地使用運算符'>'“ A”>“ a” ^ Foundation。>:1:6:注意:找到了該候選函數>(lhs:String,rhs:NSString) -> Bool ^ Foundation。> :: 1:6:注意:找到了這個候選函數>(lhs:NSString,rhs:String)-> Bool
這是我遇到的真正問題的詳細信息:
var team = ["Jane","Kate","George","Zulma"]
let sortedteam = team.sorted({ $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 })
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.