我无法启动我的Swift 3计时器

时间:2017-02-04 20:38:59

标签: timer swift3

之前我曾经使用过计时器并且他们工作过,但自从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")
}

但这也不起作用。我究竟做错了什么?我在网上找到的所有答案都表明这是正确的做法。

1 个答案:

答案 0 :(得分:11)

(NS)Timer需要一个运行循环才能正常工作。您可以通过编程方式将定时器添加到循环中,但使用方法

会更方便
Timer.scheduledTimer(withTimeInterval:...