我在Global.h标头中定义了一些外部变量,并包含在我的一些视图中,以便轻松处理一些小数据。
在applicationWillEnterForeground
被解雇后启动应用程序,我设置了一个函数,要求NSURLConnection
更新一些api数据,这些数据可能在应用程序离开时发生了变化。然后我相应地更新一些变量。
所有这些都发生在AppDelegate
中然后我调用NSNotificationCenter
来更新在MainController.m中显示此变量的标签。通知有效,方法被调用但var具有先前的值。
奇怪的是,尽管在ViewController中更新了var(我可以在日志中看到它,使用调试器并逐步移动),但它仍然具有旧值,并且它会影响我的计算。
在MainController.m中根本没有声明var,因此它不是本地实例。
如果应用程序没有进入后台然后再运行,那么一切都按预期工作,这让我觉得MainController的已保存实例中的某些内容会导致问题。
有关于此的任何想法吗?
答案 0 :(得分:0)
好的,重新审视了愚蠢。
我实际上是在AppDelegate中声明var,这使得它成为本地的var,因此全局在MainController中正确地保留了它以前的值 删除AppDelegate.h和AppDelegate.m中的引用后,它可以正常工作。