在Swift 5中,计时器(Timer)是一种用于在特定时间间隔后执行代码的工具。它通常用于执行重复任务或延迟执行任务。
Swift中的计时器主要有两种类型:
计时器未触发的常见原因包括:
以下是一个简单的示例代码,展示如何正确设置和使用计时器:
import UIKit
class ViewController: UIViewController {
var timer: Timer?
override func viewDidLoad() {
super.viewDidLoad()
// 设置一个每隔1秒触发一次的重复计时器
timer = Timer.scheduledTimer(withTimeInterval: 1.0, repeats: true) { [weak self] _ in
print("计时器触发")
// 在这里执行你的任务
}
// 确保计时器在视图控制器销毁时被正确停止
NotificationCenter.default.addObserver(self, selector: #selector(viewWillDisappear), name: UIApplication.didEnterBackgroundNotification, object: nil)
}
@objc func viewWillDisappear() {
timer?.invalidate()
timer = nil
}
deinit {
timer?.invalidate()
timer = nil
}
}
[weak self]
:避免循环引用导致的内存泄漏。invalidate()
方法。通过以上方法,可以有效解决Swift 5中计时器未触发的问题。
领取专属 10元无门槛券
手把手带您无忧上云