swift闭包中的值捕获
2017-03-23 本文已影响293人
frankisbaby
闭包可以捕获和存储其所在上下文中任意常量和变量的引用。被称为包裹常量和变量。 Swift 会为你管理在捕获过程中涉及到的所有内存操作。
闭包可以在定义的上下文中捕获常量或者变量。即使定义这些常量或者变量的作用域已经不存在,闭包仍然可以在闭包函数体内引用和修改这些值。
swift中,可以捕获值的闭包的最简单形式是嵌套函数。也就是定义在其他函数体内部的函数嵌套函数可以捕获其外部函数所有的参数以及定义的变量或者常量。
嵌套函数上边incermenter会捕获amount参数和runningTotal变量两个数。每次调用incermenter,结果都会在runningTotal的基础上增加amount的值。