在Swift中遇到NSTimer问题

时间:2014-06-18 19:45:50

标签: ios swift nstimer

我试过这个,但什么都没发生。选择器有问题吗?

    func timer() {
       var timer = NSTimer(timeInterval: 2.0, target: self, selector:Selector("function"), userInfo: nil, repeats: false)
    }
    func function() {
       println("it worked")
    }

3 个答案:

答案 0 :(得分:11)

您只是创建计时器,但不将其添加到运行循环中。您需要使用等效的scheduledTimerWithTimeInterval:target:selector:userInfo:repeats:类方法,或者在addTimer:forMode:的运行循环中安排它。

答案 1 :(得分:4)

您可以将此代码用于NSTimer

func timer() {
   var timer = NSTimer.scheduledTimerWithTimeInterval(2.0, target: self, selector: "timerFunc", userInfo: nil, repeats: false)
}
func timerFunc() {
   println("it worked")
}

您必须使用scheduledTimerWithTimeInterval:target:selector:userInfo:repeats:类方法来运行计时器。

希望这可以帮到你。

答案 2 :(得分:0)

您可以像下面一样创建选择器。

let @Selector : Selector = "timerFireMethod:"

然后创建计时器

var timer = NSTimer.scheduledTimerWithTimeInterval(1.0, 
                target: self, 
                selector: @Selector,
                userInfo: userInfo, 
                repeats: true)