时间在Swift中变量

时间:2017-07-12 21:45:09

标签: ios swift

概述:我正在尝试创建测验游戏,其中某人必须在一定时间内回答问题。他们有10秒钟来解决每个问题,或者它将移动到下一个控制器。问题是,每当我在完整时间之前单击下一个问题时,它会一直倒计时到10个。应该发生的事情应该是停止计算该问题的时间。

到目前为止,我已经实现了以下代码来尝试使其工作。 var time = 0并首先创建了一个名为time的全局变量。然后我创建了以下的计时器代码,var count = 10 @IBOutlet var countDownLabel: UILabel!

然后我创建一个标签,每秒都会滴答滴答,直到达到0.代码如下:

if(count > 0) {
    countDownLabel.text = String(count)
    count -= 1
    time += 1
}
print (time)

if (count <= 0 ) {
    count = 10
    self.performSegue(withIdentifier:"NextQuestion1", sender: nil)
}

总结:每次计数下降时间应该会上升。然后在结束时它将显示他们的时间。我很乐意在这个问题上得到一些帮助。

1 个答案:

答案 0 :(得分:2)

当您单击下一个按钮时,您需要使计时器无效以使其停止计数。

假设您以这种方式创建了计时器

let timer = Timer.scheduledTimer(timeInterval: 10, target: self, selector: #selector(YourSegueFunction), userInfo: nil, repeats: false)

然后,当您单击下一个按钮时,请使用以下代码行来停止计时器

timer.invalidate() 

这是演示

enter image description here