NSTimer第一次工作(Swift)

时间:2014-12-18 14:29:38

标签: ios swift nstimer

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

2 个答案:

答案 0 :(得分:1)

按下按钮时需要重置timerVal。当你第二次启动它时,timerVal仍然是&lt; 0因此它直接变为无效。

答案 1 :(得分:0)

第一次按下按钮时,

timerVal为5;它第二次小于0.