NSTimer不会使Swift 2无效

时间:2015-11-22 23:11:47

标签: ios swift nstimer

我不知道为什么我的计时器不会失效。

var timer = NSTimer()
override func viewDidLoad() {
    super.viewDidLoad()
    timer = NSTimer.scheduledTimerWithTimeInterval(5, target: self, selector: "loadCurrentGame", userInfo: nil, repeats: true)

}

override func viewWillDisappear(animated: Bool) {
    self.timer.invalidate()
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    self.timer.invalidate()
}

正如您所看到的,我尝试从viewWillDisappear和prepareForSegue中调用invalidate。我想这可能与在不同的线程上启动的计时器有关,而不是试图使它无效。

我只希望计时器在该视图处于活动状态时运行,而不是在我处于不同视图时。

事实证明,由于先前尝试过从ViewWillAppear调用viewDidLoad的事情(我现在知道这是一个不好的做法),这导致了这个错误。

0 个答案:

没有答案