gpt4 book ai didi

swift - 如何使放置在 RunLoop 上的计时器失效

转载 作者:可可西里 更新时间:2023-11-01 00:58:08 26 4
gpt4 key购买 nike

在 Swift 应用程序中,我使用了计时器。我不希望在创建 Timer 并将其插入 Runloop 后保留对 Timer 的引用。我希望能够使它无效。有没有办法在不保留引用的情况下做到这一点?

最佳答案

计时器的选择器可以保留对Timer 对象的引用。试试这个:

class ViewController: UIViewController {
var count = 0

override func viewDidLoad() {
super.viewDidLoad()

let _ = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(ViewController.timerFired(timer:)), userInfo: nil, repeats: true)
}

// Run the timers for 3 times then invalidate it
func timerFired(timer: Timer) {
if count < 3 {
count += 1
print(count)
} else {
timer.invalidate()
print("Timer invalidated")
}
}
}

关于swift - 如何使放置在 RunLoop 上的计时器失效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40408387/

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