Cómo capturar el valor actual de una variable para un bloque
¿Hay alguna manera de guardar el valor actual de una variable para su uso posterior en un bloque?
Por ejemplo, para este código de Playground:
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()
¿Hay alguna manera de guardar el valor actual dei
paradispatch_after
de una manera que obtengo la salidai: 0
en lugar dei: 3
?