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

时间:2015-01-29 08:20:28

标签: ios swift nstimer

class ViewController: UIViewController {

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

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

}

我从Xcode 6收到以下错误: 呼叫中的额外参数“选择器”

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

2 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

您可能想要使用:

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

这将返回已添加到运行循环并自动触发的计时器。

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

timer.invalidate()