gpt4 book ai didi

swift - 仅在第一个计时器停止后重新启动计时器

转载 作者:行者123 更新时间:2023-11-30 11:25:21 25 4
gpt4 key购买 nike

我创建了自己的计时器类,名为 myTimer。我只想在第一个计时器停止后再次启动我的计时器。我该如何解决这个问题?

class myTimer{
var timer = Timer()
var totalTime = 0
let score = Int(arc4random_uniform(100))

init()
{

}
func start(){
timer.invalidate()
timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(timerUpdate), userInfo: nil, repeats: true)

}

函数停止(){

        timer.invalidate()
totalTime = 0

}

@objc func timerUpdate() {

totalTime += 1
print(totalTime)

if(totalTime == 10){

stop()
}


}
}

最佳答案

你说:

I dont want it to start when the previous timer is running.

您可以使用 guard 语句来检查 timer 是否为 nilisValid:

func start() {
if timer?.isValid ?? false { return }
timer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(timerUpdate), userInfo: nil, repeats: true)
}

关于swift - 仅在第一个计时器停止后重新启动计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50801721/

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