如何在计时器达到0时结束游戏的iOS应用程序中添加计时器?

时间:2015-05-29 15:44:27

标签: ios swift

我正在使用Swift制作一个测验应用程序。我想添加一个从60秒(1分钟)倒计时的计时器,这样当它达到0时,游戏就结束了。我该如何添加计时器?

1 个答案:

答案 0 :(得分:0)

这可以帮助您,将适当的游戏逻辑放在updateTimer函数和stopCountDownTimer函数上。

class TimerTestViewController: UIViewController  {

var totalSecondsCountDown = 60 // 60 seconds
// timer
var timer : NSTimer!

override func viewDidLoad() {
    super.viewDidLoad()

    self.startCountDownTimer()
}

func updateTimer() {

    if self.totalSecondsCountDown > 0 {
        self.totalSecondsCountDown = self.totalSecondsCountDown - 1
        println("timer countdown : \(self.totalSecondsCountDown)")
    }
    else {
        self.stopCountDownTimer();
        println("timer stops ...")
    }

}

func startCountDownTimer() {

    if self.timer != nil {
        self.timer.invalidate()
        self.timer = nil
    }

    if self.totalSecondsCountDown > 0 {
        self.timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: "updateTimer:", userInfo: nil, repeats: true)
        NSRunLoop.currentRunLoop().addTimer(self.timer, forMode: NSRunLoopCommonModes)
        self.timer.fire()
    }

}

func stopCountDownTimer() {
    if self.timer != nil {
        self.timer.invalidate()
        self.timer = nil
    }

}
}