如何在运行选择器功能之前清除定时器?

时间:2015-02-05 19:00:43

标签: swift xcode6 watchkit

我有一个这样的计时器:

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秒后它仍然调用“已完成”功能。 请帮忙。

2 个答案:

答案 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)

我发现了一个问题,我添加了比我想象的更多的计时器,所以另一个计时器仍然运行并采取我的功能。