切换视图控制器后,NSTimer触发两次

时间:2016-06-26 20:01:55

标签: ios swift nstimer nsnotification

我正在尝试在切换视图控制器之间保持准确计数并显示倒数计时器。为此,我添加了此问题中提到的NSNotifications:Timer Label not updated after switching views (swift)

问题是从其他视图控制器切换回来后,定时器将减少两次。 此问题似乎与通知无关,因为没有它们会发生同样的问题,只有在重新启动计时器后才会显现,因为它在到达视图控制器时没有自动更新。

我真的没有找到原因,非常感谢任何帮助!

我已经设置了这个示例代码。在Main.storyboard中有另一个视图控制器添加到原始控制器中,有一个开关和一个标签显示添加到它的计时器。原始视图控制器仅包含一个条形按钮项,以触发segue到第二个视图控制器。

{{1}}

编辑:解决方案:将计时器从视图控制器类移动到DataModel单例,因此只有一个计时器。

1 个答案:

答案 0 :(得分:1)

好的,新的早晨,新鲜的大脑,再看一下代码,问题很清楚:我每次切换到视图控制器时都会启动一个新的计时器,所以当停止计时器时,它不会停止前一个。由于应该只有一个计时器,我将它从视图控制器类移动到DataModel,这是一个单例。