调用错误中的额外参数 'selector'

Extra argument 'selector' in call error

class ViewController: UIViewController {

func ChangePage()
{
    NSLog("Hej")
}

var timers = NSTimer(NSTimeInterval(0.5), target:self, selector: "ChangePage", userInfo: nil, repeats: true)

}

我从 Xcode 6 得到以下错误: call

中的额外参数 'selector'

我尝试了几种配置,是否与它在代码中的位置有关?

您应该在构造函数中添加 timeInterval,例如:

NSTimer(timeInterval: NSTimeInterval(0.5), target:self, selector: "ChangePage", userInfo: nil, repeats: true)

是的,放在哪里很重要。问题是,定时器是一个 属性,它是在初始化之前创建的。所以当它被创建时,self 是不存在的,但是你引用它,这就导致了问题。

您可能想使用:

var timer = NSTimer.scheduledTimerWithTimeInterval(0.5, target: self, selector: "changePage", userInfo: nil, repeats: true)

这个 returns 已经添加到 运行 循环并自动触发的计时器。

要停止计时器触发,您必须像这样使它无效

timer.invalidate()