NSTimer 只在第一次工作 (Swift)


我不知道

为什么我的计时器只在第一次工作,这是代码:当我按下"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。

最新更新