Swift-内联闭包速记参数($0, $1)

以数组中的排序方法为例,sorted可以传入一个闭包作为参数,限制为2个入参(Element)。


sorted.png

常规排序

let names = ["Chris", "Alex", "Ewa", "Barry", "Daniella"]
var reversedNames = names.sorted(by: { (s1: String, s2: String) -> Bool in
    return s1 > s2
})
print("names :"+"\(reversedNames)")

闭包的入参s1,s2 返回s1 > s2

使用$符号排序

reversedNames = names.sorted(by: {$0>$1})

原因

Swift的语法糖。Swift会自动为内联闭包提供速记参数名称,可使$+数字来引用闭包参数对应的值。
参考原文

你可能感兴趣的:(Swift-内联闭包速记参数($0, $1))