这个问题看起来应该很简单,但我无法解决它。我有一个包含“游戏”的核心数据存储。这些游戏有一个为计时器存储时间的属性:game.timer。这一切都很好。
我的 App Delegate 中还有一个集中式计时器,它会在滴答声时发布通知,以便各种视图控制器可以显示该时间。这一切都很好。
这是我坚持的简单事情。用户启动/停止计时器并显示滴答时间的视图控制器,在 viewWillLoad 中,它获取 game.timer 中的时间,并在应用程序委托中为集中式计时器设置时间属性。当计时器运行时,视图中的标签会更新。这一切都很好。
但是当第一次显示该视图时,我不知道如何在标签中显示静态时间量。例如,如果我在 viewWillLoad 中执行此操作,计时器将显示 20:00。伟大的。如果我启动计时器,该标签会打勾。也很棒。但是,如果我离开视图并返回,标签将再次设置为 20:00(假设计时器仍在运行,则从那里向下打勾。)
所以我需要以某种方式跟踪状态,以设置标签中的初始时间。说得通?
编辑:我的计时器倒计时。我需要在视图首次加载时显示开始时间,比如 20:00。如果计时器正在运行,则该标签将正确更新。但是,如果我离开视图然后回来,如果计时器正在运行,我不希望标签恢复到 20:00。