有人可以向我解释封闭是如何工作的吗? (Swift iOS)

时间:2015-02-10 13:18:16

标签: swift

我正在寻找对引擎盖下发生的事情的高级别解释。它们如何工作,如何定义,它们如何被调用,被调用时会发生什么,是异步的?

谢谢!

1 个答案:

答案 0 :(得分:1)

显然有docs,这是一个很好的起点。在高层次上,我将它们视为可移植函数,它可以从当前上下文中捕获其他对象。我不相信它们是异步或同步的,因为它们无法确定它们何时或如何运行。

它们确实适用于异步模式,我认为它们通常以异步方式使用 - 因为它们允许您打包特定行为并将其传递给其他行为。这是url会话任务方法中的完成处理程序的一个完美示例。在这种情况下,您的完成处理程序只是一个闭包,它允许您现在说出任务在完成时要执行的操作。