ios - Swift 中的时间变量

标签 ios swift

概述:我正在尝试创建问答游戏,其中有人必须在一定时间内回答问题。他们有 10 秒的时间来解决每个问题,否则它将移至下一个 Controller 。问题是,每当我在全部时间结束之前单击下一个问题时,它都会一直倒计时到 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)
}

总结:每当计数下降时,时间应该上升。然后在最后它会显示他们的时间。我很乐意在此问题上提供一些帮助。

最佳答案

当您点击下一步按钮时,您需要使计时器无效,以便它停止计数。

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

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

然后当你点击下一步按钮时,使用下面这行代码停止计时器

timer.invalidate() 

这是演示

enter image description here

关于ios - Swift 中的时间变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45068007/

相关文章:

iphone - iOS 崩溃 'NSInternalInconsistencyException',原因 : 'statement is still active' Core Data cache related?

ios - Swift CoreData 到 UICollectionView

ios - 在iphone/ipad扬声器中录制音频

objective-c - 如何将 UITableViewController 添加到 XCode4 中 UITabViewController 上的 UINavigationController?

ios - UIImagePickerController 不调用委托(delegate)方法

ios - 您将如何为 CoreData 建模以在 Swift 中保存自定义对象数组?

swift - 使用 tableView 进行分段控制,在第二段和第三段禁用 UIImage Cell

ios - 如果我们在后台队列中调用 main.async 代码什么时候执行?

ios - 如何从 Collection View 中的不可见单元格中删除自定义 View

iphone - CoreText 页面 View 示例 (CTPageViewer)