既然@autoclosure
是参数声明的一部分而不是类型,那么如何声明一个函数采用可变量的自动爆破?
在:
public func coalesce<T>(all : @autoclosure () -> T? ...) -> T? {
for f : () -> T? in all {
if let x = f() { return x }
}
return nil
}
之后:???
答案 0 :(得分:8)
我打开了rdar:// 19782845,&#34; Swift 1.2:不再支持Variadic自动关闭,&#34;并得到了Apple Developer Relations的以下回复:
此问题的行为基于以下内容:
@autoclosure仅允许在函数类型的参数上使用,而varargs是一个数组。预计不会有效。