【发布时间】:2017-01-29 11:46:32
【问题描述】:
我正在使用 Xcode 8 将代码转换为 Swift,但编译器警告要在 Swift 2.3 中已经创建的一些嵌套函数中添加 @escape,并使用闭包语法。我还发现了一些其他关键字@noescape 和@autoclosure,但我对此有一些疑问:
- 这个关键字的功能需求是什么?
- 写
@escaping有什么影响? - 有必要写吗?
-
@autoclosure的行为是否与@escape相同? - 何时使用哪个关键字以及为什么?
这是Swift-evolution 文档,但没有从中得到太多。
【问题讨论】:
-
我刚刚注意到您已标记问题 Swift 3。Swift 3 中没有
@noescape或@escape。