NSTimer不适用于swift

时间:2015-07-08 01:13:03

标签: swift nstimer

我编写此代码以在View Controller中使用Timer:

var timer:NSTimer!
override func viewDidLoad() {
    super.viewDidLoad()
    timer = NSTimer(timeInterval: 2, target: self, selector: "goTakingPhoto", userInfo: nil, repeats: false)
    timer.fire()
    // Do any additional setup after loading the view.
}
 func goTakingPhoto(){
   // doSomething
}

但是函数goTakingPhoto会立即调用,而不会在2秒后调用。 谁能帮我?非常感谢。

2 个答案:

答案 0 :(得分:3)

试试这个:

override func viewDidLoad() {
    super.viewDidLoad()
    var timer = NSTimer.scheduledTimerWithTimeInterval(2, target: self, selector: Selector("goTakingPhoto"), userInfo: nil, repeats: false)}
}

func goTakingPhoto() {
   // doSomething
}

答案 1 :(得分:0)

我发现它适用于NSTimer.scheduledWithTimeInterval(...)。并且您不必添加timer.fire()否则将立即调用func

参考here