我有一个这样的计时器:
var timer = NSTimer.scheduledTimerWithTimeInterval(time, target: self, selector: Selector("finished"), userInfo: nil, repeats: false)
带有“time”的是用于运行此计时器的NSTimeInterval,例如是10.0秒。 “完成”是一个在计时器达到10.0秒时运行的功能。 如果我的计时器正在运行,例如当我的计时器达到4.0秒时,我想清除或停止计时器或类似的东西,并再次重新启动计时器。我怎样才能做到这一点?我已经尝试过使用:
timer.invalidate()
再次重新创建计时器,但在6.0秒后它仍然调用“已完成”功能。 请帮忙。
答案 0 :(得分:0)
我希望它可以帮助你...
class ViewController: UIViewController {
var timer = NSTimer()
timer = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: Selector("result"), userInfo: nil, repeats: true)
}
func result() {
self.elapsedTime++
self.handler(elapsedTime)
if self.elapsedTime == self.duration {
self.stop()
}
}
func stop() {
timer.invalidate()
}
答案 1 :(得分:0)
我发现了一个问题,我添加了比我想象的更多的计时器,所以另一个计时器仍然运行并采取我的功能。