gpt4 book ai didi

Swift 如何防止多个 NSTimer.scheduledTimerWithTimeInterval

转载 作者:搜寻专家 更新时间:2023-11-01 06:40:13 27 4
gpt4 key购买 nike

我一直在制作秒表。

启动、停止和暂停操作效果很好。

但是,当我点击两次开始操作时

time = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: Selector("result"), userInfo: nil, repeats: true)

这个 Action 重新开始,时间过得更快!

我如何阻止该操作?

提前致谢!!!

最佳答案

你需要在类的顶部声明一个变量:

 var timer = NSTimer()

然后在开始按钮中分配这个计时器变量,如下所示:

@IBAction func startTimerButtonTapped(sender: UIButton) {
time = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: Selector("result"), userInfo: nil, repeats: true)
}

每当你想停止这个计时器时,你需要使它无效,就像这样:

timer.invalidate()

如果你想再点击两次开始按钮,你需要先使它无效,然后再安排它:

@IBAction func startTimerButtonTapped(sender: UIButton) {
timer.invalidate()
time = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: Selector("result"), userInfo: nil, repeats: true)
}

希望对您有所帮助。

关于Swift 如何防止多个 NSTimer.scheduledTimerWithTimeInterval,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36442153/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com