簡體   English   中英

Swift String的'>'重載行為

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM