Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/105.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 时间以迅捷的速度变化_Ios_Swift - Fatal编程技术网

Ios 时间以迅捷的速度变化

Ios 时间以迅捷的速度变化,ios,swift,Ios,Swift,概述:我正在尝试创建一个问答游戏,其中有人必须在一定时间内回答问题。他们有10秒钟的时间来解决每个问题,否则问题将转到下一个控制器。问题是,每当我在全部时间结束前单击“下一个问题”,它都会一直倒数到10。应该发生的是,它应该停止计算这个问题的时间 到目前为止,我已经实现了下面的代码来尝试实现这一点var time=0并首先创建了一个名为time的全局变量。然后我创建了如下计时器代码,var count=10@IBOutlet var countdownlab:UILabel 然后我创建了一个标签

概述:我正在尝试创建一个问答游戏,其中有人必须在一定时间内回答问题。他们有10秒钟的时间来解决每个问题,否则问题将转到下一个控制器。问题是,每当我在全部时间结束前单击“下一个问题”,它都会一直倒数到10。应该发生的是,它应该停止计算这个问题的时间

到目前为止,我已经实现了下面的代码来尝试实现这一点
var time=0
并首先创建了一个名为time的全局变量。然后我创建了如下计时器代码,
var count=10
@IBOutlet var countdownlab: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)
}
if(计数>0){
countDownLabel.text=字符串(计数)
计数-=1
时间+=1
}
打印(时间)

如果(计数当你点击下一步按钮时,你需要使计时器失效,以便它停止计数

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

let timer = Timer.scheduledTimer(timeInterval: 10, target: self, selector: #selector(YourSegueFunction), userInfo: nil, repeats: false)
然后,单击“下一步”按钮时,使用以下代码行停止计时器

timer.invalidate() 
这是演示


有没有办法说timer.invalidate()当他们按下按钮时?@josh你的意思是什么?你可以直接在按钮点击功能中调用此方法来停止计时器。你可以解释如何在按钮点击功能中调用此方法吗?如果他们点击,我需要停止计时器。转到下一个问题。@josh在我的答案中注明日期,计时器在按钮点击操作中停止确定!我知道了谢谢,谢谢!