swift 中的关键字@autoclosure

2020-03-12  本文已影响0人  90后的晨仔

对于@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)
上一篇下一篇

猜你喜欢

热点阅读