计时器、#selector 解释

Ant*_*y D 0 timer selector swift

我需要一个计时器,所以我使用了这段代码:

timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector:  #selector(generalKnowledge.method), userInfo: nil, repeats: true)
Run Code Online (Sandbox Code Playgroud)

但我不明白#selector。我尝试了多次但没有成功。

Dan*_*ond 5

select() 是您添加希望它在每次设置的 timeInterval 时调用的函数的位置。在你的例子中是每秒。

请记住,在 Swift 4 及更高版本中,@objc如果您想在选择器中调用函数,则需要在函数之前添加它,如下所示:

@objc func handleEverySecond() {
    print("Hello world!")
}

timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(handleEverySecond), userInfo: nil, repeats: true)
Run Code Online (Sandbox Code Playgroud)