在使用闭包时,不能忽略闭包的参数列表。如果需要省略某个参数,可以使用“_”代替参数名。例如:
let numbers = [1, 2, 3, 4, 5]
let sum = numbers.reduce(0, { x, y in x + y }) // 正确:使用了闭包的参数列表
let sum2 = numbers.reduce(0, { $0 + $1 }) // 正确:使用了“$0”和“$1”来代替参数名
let sum3 = numbers.reduce(0, { _ + $1 }) // 正确:使用“_”来省略第一个参数
如果不想使用任何参数,可以简单地省略参数列表,直接使用“{}”来定义闭包。
let numbers = [1, 2, 3, 4, 5]
let printNumbers = numbers.forEach { print($0) } // 正确:省略了参数列表