我在swift中使用NSTimer
我在mainViewController上启动NSTimer,当我点击按钮时,我移动到另一个视图(类型:模态),并且计时器在后台工作正常,但是当我返回主视图控制器时,我的计时器是重复的...所以如何停止计时器在antoher View?
override func viewDidLoad() {
super.viewDidLoad()
countDownTimer = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: "timerDown", userInfo: nil, repeats: true)
}
答案 0 :(得分:0)
如果当您从模态视图“返回”时再次执行viewDidLoad,则可能实际上并未返回但是会触发到新实例的segue。如果使用展开segue返回主视图,viewDidLoad将不会再次执行,如果您需要停止计时器,您将在原始实例上。
答案 1 :(得分:0)
据我所知,你的目标是不要复制计时器。 为此,您只需检查计时器是否为空...
override func viewDidLoad() {
super.viewDidLoad()
if(countDownTimer==nil)
{
countDownTimer = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: "timerDown", userInfo: nil, repeats: true)
}
}