我正在查看一些 Swift 代码,遇到了这个函数签名: func foo(withCompletion completion: @escaping () -> () = {}) { ... } 我不确定 () -> () = {} 这一部分的含义是什么? 如果这是一个默认值,应该如何使用?有任何想法吗?这段代码是用 Swift 3 写的。
completion参数的类型为() -> ()。它是一个没有参数并且返回类型为空(void)的闭包。 = {}是该参数的默认值,这意味着如果不需要闭包,则无需传入闭包。 因此,您可以这样调用: foo(withCompletion: { // your code here }) 或者(使用尾随闭包语法):foo() { // your code here } 或者(如果您不想使用完成闭包):foo()
{}
空的。默认情况下不执行任何操作。只要回调函数返回void,就可以添加回调函数。 - Aquila Sagitta@escaping () -> Void = {}
。 - Alexander