squ*_*o10 4 closures callback swift
有人问我 Objective C 块是否更类似于闭包或回调。然而,回调的定义似乎与闭包几乎相同,至少在这个借用自http://swiftspace.org/callback-function-in-swift/的示例中:
\n\nfunc mainFunction(callback: () -> Void) {\n\n // some code\n callback() // call the callback function\n}\nRun Code Online (Sandbox Code Playgroud)\n\n在《编程语言指南》(Swift 2.2)中很少提到回调,但有一个值得注意的例外,回调听起来像是一种闭包:
\n\n\n\n\n\xe2\x80\x9c当闭包\xe2\x80\x99s 类型已知时,例如委托的回调\n,您可以省略其参数类型、返回类型或两者。\xe2\ x80\x9d
\n
帮助?
\n小智 5
它们是两个完全不同但兼容的概念。回调是要附加的函数的挂钩,以便在需要操作时可以调用该函数来提供结果或影响。闭包是一个函数,它捕获要在局部作用域之外的作用域中使用的局部变量。闭包可以是回调,就像任何其他函数可以是回调一样,但它不限于这种用途。
在您的引用中,他们正在讨论如何使用回调的闭包。在这种情况下,编译器可以从上下文推断函数签名(参数和返回的类型)。
请注意,这与 Objective-C 块关系不大。Swift 和 Objective-C 是两种完全不同的语言,块和闭包是相似概念的两种不同实现。
| 归档时间: |
|
| 查看次数: |
4077 次 |
| 最近记录: |