Swift中$0、$1的实际含义

2,236 阅读1分钟

swift 自动为闭包提供了参数缩写功能,可以直接通过 0和 1等来表示闭包中的第一个第二个参数,并且对应 的参数类型会根据函数类型来进行推断。如下代码:

不使用 00、1来代替闭包参数

let sortedArray = [2,3,5,6,7] 
let tempSum = sortedArray.sorted { (a, b) -> Bool in 
return a > b 
} 
print(sortedArray) //[7, 6, 5, 3, 2]

使用00 ,1

let sortArray = sortedArray.sorted(by: {$0 < $1}) 
print(sortArray) //[2, 3, 5, 6, 7]

通过上面的代码可以发现使用00、1的话,参数类型可以自动判断,并且 in关键词可以省略,也就是 只用写函数体就可以了。

参考:blog.csdn.net/daiqiao_ios…