之前我曾经使用过计时器并且他们工作过,但自从NSTimer更改为Timer后,我的计时器拒绝工作。我试过的代码如下:
override func viewDidLoad() {
super.viewDidLoad()
_ = Timer(timeInterval: 3, target: self, selector: #selector(test), userInfo: nil, repeats: true)
}
func test() {
print("The timer worked")
}
永远不会调用测试函数,我不知道为什么。我也尝试过初始化它并像这样使用它:
var followUpTimer:Timer!
override func viewDidLoad() {
super.viewDidLoad()
followUpTimer = Timer(timeInterval: 3, target: self, selector: #selector(test), userInfo: nil, repeats: true)
}
func test() {
print("The timer worked")
}
但这也不起作用。我究竟做错了什么?我在网上找到的所有答案都表明这是正确的做法。
答案 0 :(得分:11)
(NS)Timer
需要一个运行循环才能正常工作。您可以通过编程方式将定时器添加到循环中,但使用方法
Timer.scheduledTimer(withTimeInterval:...