Как записать текущее значение переменной для блока
Есть ли способ сохранить текущее значение переменной для последующего использования в блоке?
Например, для этого кода детской площадки:
import UIKit
import XCPlayground
XCPlaygroundPage.currentPage.needsIndefiniteExecution = true
class testClass {
var i = 0
func test() {
let dispatchTime: dispatch_time_t = dispatch_time(DISPATCH_TIME_NOW, Int64(Double(NSEC_PER_SEC)) * 5)
dispatch_after(dispatchTime, dispatch_get_main_queue(), {
self.test(self.i)
})
i = 3
}
func test(i: Int)
{
print("i: \(i)")
}
}
let a = testClass()
a.test()
Есть ли способ сохранить текущее значениеi
заdispatch_after
таким образом, что я получаю выводi: 0
вместоi: 3
?