对于
@autoclosure
苹果官方的博客中有说明@autoclosure,@autoclosure 做的事情就是把一句表达式自动地封装成一个闭包(closure)。
1.下边是一个例子:
func logInputTrue(_ predicate: () -> Bool) { if predicate() {
print("True") }
}
2.调用的简化一
logInputTrue({return 2 > 1})
3.调用的简化二
logInputTrue({2 > 1})
4.调用的简化三:添加上关键字@autoclosure
func logInputTrue(_ predicate: @autoclosure() -> Bool) { if predicate() {
print("True") }
}
调用:
logInputTrue(2 > 1)
网友评论