NSTimer.scheduledTimerWithTimeInterval() 可变延迟

NSTimer.scheduledTimerWithTimeInterval() with variable delay

我有一个函数需要每隔 x 秒调用一次。开始时 x = 5 但每次调用此函数时 x 都需要递减一定数量。如果 x 是常数,我知道该怎么做:

override func didMoveToView(view: SKView) {
    NSTimer.scheduledTimerWithTimeInterval(5, target: self, selector: Selector("function"), userInfo: nil, repeats: true)
}

func function(){
    println("TEST")
}

如何减少每次函数调用之间的延迟?

我会像这样更改您的代码:

var timeDuration: NSTimeInterval = 5

override func didMoveToView(view: SKView) {
   NSTimer.scheduledTimerWithTimeInterval(timeDuration, target: self, selector: Selector("function"), userInfo: nil, repeats: false)
}

func function(){
    println("TEST")
    timeDuration -= 1
    if timeDuration > 0{
        NSTimer.scheduledTimerWithTimeInterval(timeDuration, target: self, selector: Selector("function"), userInfo: nil, repeats: false)
    }
}

这应该可以,还没有测试过。