“对成员的'模糊引用'scheduledTimerWithTimeInterval(_:invocation:repeats :)'”

时间:2016-07-25 16:56:19

标签: swift macos

我正在尝试设置计时器以定期运行事件,如here所述。我得到了hashtag参数已被弃用,因此我尝试相应地重写startTimer代码:

func startTimer()
{
    let theInterval: NSTimeInterval = 5.0

    self.timer = NSTimer.scheduledTimerWithTimeInterval
    (
        interval: theInterval,
        target: self,
        selector: Selector("timerTick:"),
        userInfo: "Hello!",
        repeats: true
    )
}

问题是,我一直收到错误:“对成员'scheduleTimerWithTimeInterval(_:invocation:repeats :)'”的模糊引用。但我不是试图运行scheduledTimerWithTimeInterval(_:invocation:repeats :),我正在尝试运行scheduledTimerWithInterval:target:selector:userInfo:重复。我认为从我传递的参数中可以看出这一点。

我需要做些什么不同的事情?

1 个答案:

答案 0 :(得分:3)

有两个问题:

  1. scheduledTimerWithTimeInterval与空心括号之间的换行符和空格混淆了。

  2. 您不应提供第一个参数标签。

  3. 所以,你可以这样做:

    timer = NSTimer.scheduledTimerWithTimeInterval(
        2.0,
        target: self,
        selector: #selector(timerTick(_:)),
        userInfo: "Hello!",
        repeats: true
    )
    

    注意,我还使用Selector("timerTick:")语法替换了#selector