这个问题在这里已经有了答案:
Best Answer-推荐答案 strong>
注意 Void
只是一个空元组 ()
。
我认为这是由于 Remove implicit tuple splat behavior from function applications (SE-0029)
基本上,此更改表明您不能再将元组作为参数传递。您过去可以通过在函数名称后面的 ()
中插入内容来传递参数,或者传递表示参数的元组
func foo(a: Int, b: Int) {}
let tuple = (a: 1, b: 2)
foo(tuple)
现在你不能。
如果我们将 foo
转换为 swift 4,它将如下所示:
func foo(a; Int, b: Int) {}
func foo(_ x: (a: Int, b: Int)) {}
所以 (Void) -> Void
表示一个带有 Void
参数的函数。你以前什么都不能传递,因为 Void
只是一个空元组,在“splat”之后变成“无参数”。
关于ios - Swift 4.0 中的空闭包,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/46579278/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) |
Powered by Discuz! X3.4 |