Swift 5 - 计时器未触发

问题描述 投票:0回答:1

我有以下内容,

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")
}
    
}

点火功能从未被触发,我不明白为什么,我错过了什么?

swift timer
1个回答
3
投票

问题是:计时器需要在主线程上调度:

DispatchQueue.main.async {  
let timer = Timer.scheduledTimer(timeInterval: self.BLINK_TIMEOUT, target: self, selector: #selector(self.clearTimer), userInfo: nil, repeats: false)

}
© www.soinside.com 2019 - 2024. All rights reserved.