Wie man den aktuellen Wert einer Variablen für einen Block erfasst
Gibt es eine Möglichkeit, den aktuellen Wert einer Variablen für die spätere Verwendung in einem Block zu speichern?
Zum Beispiel für diesen Spielplatzcode:
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()
Gibt es eine Möglichkeit, den aktuellen Wert von @ zu speicheri
zumdispatch_after
auf eine Weise, dass ich die Ausgabe bekommeni: 0
Anstatt voni: 3
?