捕获变量或常量
1. 捕获的方式是引用捕获
var a = 1
// 引用捕获a
let function = {() in
a += 1
}
function()
function()
print(a) // a = 32. 闭包会管理捕获变量或常量的生命周期
var function : (() -> Void )!
if true{
var a = 1
function = {() in
a += 1
}
}
// a 看似生命周期结束,但闭包管理了a的生命周期,仍然可以访问
function()
function()
最后更新于