老师,在使用 @autoclosure @escaping 修饰的时候。
func collection(proivder: @autoclosure @escaping () -> String) {
proivders.append(proivder)
}
collection( proivder: { names.remove(at: 0) }() )
给参数传递闭包 , 需要在花括号后边跟一对括号, 这个是什么意思呢?
展开
作者回复: @autoclosure是要传可计算/执行表达式的,后面加()才是一个可计算/执行的表达式,要么就不加@autoclosure,你可以传闭包进去