【发布时间】:2019-11-12 06:23:16
【问题描述】:
想知道快速关闭捕获是如何工作的?就像i 值被捕获一样,认为j 值也会被捕获,但事实并非如此。有人能解释一下这个i 和j 是如何被快速关闭捕获的吗?
var statements = [()->()]()
var j = 10
for i in 1...10 {
statements.append {
print(i)
print(j)
}
}
statements[2]() //prints 3 and 10
j = 20
statements[5]() //prints 6 and 20, I was expecting 6 and 10
【问题讨论】: