我之前使用过计时器并且他们工作过,但自从NSTimer改为Timer后,我的计时器拒绝工作.我试过的代码如下: override func viewDidLoad() { super.viewDidLoad() _ = Timer(timeInterval: 3, target: self, selector: #se
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") }
但这也不起作用.我究竟做错了什么?我在网上找到的所有答案都表明这是正确的做法.
(NS)Timer需要一个运行循环才能正常工作.您可以以编程方式将定时器添加到循环中,但使用该方法更方便Timer.scheduledTimer(withTimeInterval:...