Как записать текущее значение переменной для блока

Есть ли способ сохранить текущее значение переменной для последующего использования в блоке?

Например, для этого кода детской площадки:

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?

Ответы на вопрос(2)

Ваш ответ на вопрос