我不知道
为什么我的计时器只在第一次工作,这是代码:当我按下"timergo"按钮时,它可以工作,但是当它完成并按下按钮时,它不起作用。
@IBAction func timergo(sender: AnyObject) {
startTimer()
}
var timer:NSTimer!
var timerVal:Int = 5
func startTimer()
{
timer = NSTimer.scheduledTimerWithTimeInterval(1.0
, target: self, selector: Selector("updateTimer:"), userInfo: nil, repeats: true)
}
func updateTimer(dt:NSTimer)
{
timerVal--
if timerVal==0{
println("FINISH")
}else if timerVal < 0{
timer.invalidate()
//Stop
} else{
justTime.text = String(timerVal)
println("(timerVal)")
}
}
您需要在按下按钮时重置计时器。当您第二次启动它时,timerVal 仍然<0,因此它直接失效。
第一次
按下按钮时timerVal
为 5;第二次按下按钮时小于 0。