extern float 在 applicationwillenterforeground 之后保留之前的值

extern float retains previous value afer applicationwillenterforeground

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

applicationWillEnterForeground 被解雇以启动应用程序后,我设置了一个函数,要求 NSURLConnection 更新一些 api 数据,这些数据可能在应用程序运行时发生了变化离开。然后我相应地更新了一些变量。

这一切都发生在 AppDelegate

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

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

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

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

有什么想法吗?

好吧,愚蠢又来了。

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