如果应用程序进入前台,外部浮点值将保留以前的值



我在Global.h标头中定义了一些外部变量,并将其包含在我的一些视图中,以便轻松处理一些小数据。

applicationWillEnterForeground被激活以启动应用程序后,我设置了一个函数,要求NSURLConnection更新一些api数据,这些数据可能在应用程序不在时发生了更改。然后我相应地更新了一些var。

所有这些都发生在AppDelegate 中

然后我调用一个NSNotificationCenter来更新一个标签,该标签在MainController.m中显示这个var。通知有效,方法被调用,但var有以前的值。

奇怪的是,尽管在ViewController中更新了var(我可以在日志中看到它,使用调试器并逐步移动),但它仍然有旧值,这会打乱我的计算。

var在MainController.m中根本没有声明,所以它不是本地实例。

如果应用程序没有进入后台然后启动,那么一切都按预期工作,这让我觉得MainController的已保存实例中的某些东西导致了问题。

对此有什么想法吗?

好吧,愚蠢再次出现。

实际上,我在AppDelegate中声明了var,这使其成为本地var,因此全局变量在MainController中正确地保持了它以前的值在删除AppDelegate.h和AppDelegate.m中的引用后,它正常工作。

最新更新