For*_*rge 3 closures swift swift3
我正在Swift查看一些代码,我遇到了这个函数签名:
func foo(withCompletion completion: @escaping () -> () = {}) { ... }
Run Code Online (Sandbox Code Playgroud)
我不确定该部分 () -> () = {}是什么意思?如果它是默认值,应该如何使用?
任何的想法?
代码是 Swift 3
该completion参数有一个类型的() -> ().这是一个没有参数且具有空(void)返回类型的闭包.
这= {}是参数的默认值,这意味着如果您不需要,则实际上不需要传递闭包.
所以你可以这称为:
foo(withCompletion: {
// your code here
})
Run Code Online (Sandbox Code Playgroud)
或(使用尾随闭包语法):
foo() {
// your code here
}
Run Code Online (Sandbox Code Playgroud)
或(如果您不想使用完成闭包):
foo()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
83 次 |
| 最近记录: |