在我的项目中,我有 1 个需要更改值的主视图控制器,例如 UILabel 和变量。
一旦用户第一次打开应用程序,我还需要一个持续运行的计时器。
我目前拥有的是一个计时器,它每隔一段时间在 appdelegate 中调用一个函数,当它在该函数中时,我将有一个 if 语句检测何时是午夜。到了午夜,我想在主视图控制器上重置一堆值。
所以,只要用户第一次打开应用程序,我就需要再次运行这个计时器。它需要在完全关闭时运行,并且在后台运行时,比如当用户点击主页按钮并且没有关闭它时。
我的主要问题是,我应该在 appdelegate 中为此使用哪些功能?现在看来,只有在我完全关闭 xcode 中的任务/应用程序并返回它之后,计时器才会触发,然后我会看到我的值被重置。不是当我只是在模拟器中回家时。
后来,我发现即使我暂时绕过这些需求并从计时器中触发午夜功能,当我在主 VC 中时,它并没有重置值,例如我的 UILabel ......即使那由于我放在那里的警报,部分代码正在触发。
所以,我的问题是,在什么功能下,我应该把我的午夜函数放入,以便能够在用户活跃在应用程序中时更改值,比如在午夜,以及当他们不在应用程序中时。当应用程序未运行时,我需要计时器仍然每小时或每分钟触发一次午夜功能,当它实际上到达午夜时,我需要将其分别放入主 VC 并重置值,以便用户最终执行打开应用程序并加载该主 VC,这些值将被重置。
本质上,用户全天都在跟踪一些数字,一旦到了午夜,这些数字就会被重置,所以当用户在一天中打开应用程序时,他会看到 0。
谢谢。