【问题标题】:Swift 5 - Timer not firingSwift 5 - 定时器不触发
【发布时间】:2021-02-05 14:04:33
【问题描述】:

我有以下,

class someViewController : ViewController{
    var timer:Timer? = nil

    override func viewDidLoad() {
        timer = Timer.scheduledTimer(timeInterval: 5.0, target: self, selector: #selector(fire), userInfo: nil, repeats: true)

}

@objc func fire(){
print("fired")
}
    
}

fire 功能永远不会被击中,我不知道为什么,我错过了什么?

【问题讨论】:

  • 我所看到的没有任何遗漏,你调试过代码吗?
  • 是的,它肯定是在创建计时器部分,过了那个很好,然后就没有进入 fire 功能,太奇怪了。
  • 与您的问题无关,但您无需将计时器声明为可选var timer: Timer = .init()
  • 别忘了致电super.viewDidLoad()
  • 我知道这只是我在阳光下尝试了一切之后的状态。通过 DispatchQueue.main 运行它时发生的一些奇怪的事情很好。

标签: swift timer


【解决方案1】:

尝试清理 Xcode 或重建项目,因为您的代码可以正常工作。

【讨论】:

    猜你喜欢
    • 2023-04-03
    • 2014-07-17
    • 2013-03-27
    • 2018-03-26
    • 1970-01-01
    • 2017-03-30
    • 1970-01-01
    • 2010-11-18
    • 1970-01-01
    相关资源
    最近更新 更多