以數(shù)組中的排序方法為例,sorted可以傳入一個閉包作為參數(shù),限制為2個入?yún)ⅲ‥lement)。
常規(guī)排序
let names = ["Chris", "Alex", "Ewa", "Barry", "Daniella"]
var reversedNames = names.sorted(by: { (s1: String, s2: String) -> Bool in
return s1 > s2
})
print("names :"+"\(reversedNames)")
閉包的入?yún)1,s2 返回s1 > s2
使用$符號排序
reversedNames = names.sorted(by: {$0>$1})
原因
Swift的語法糖因痛。Swift會自動為內(nèi)聯(lián)閉包提供速記參數(shù)名稱,可使$+數(shù)字來引用閉包參數(shù)對應(yīng)的值岸更。
參考原文