2017-02-03 36 views
0

我在Global.h頭文件中定義了一些外部變量,並且包含在我的一些視圖中,以便輕鬆處理一些小數據。extern float在應用程序之前保留了以前的值

applicationWillEnterForeground被啓動以使應用程序啓動後,我設置了一個函數,要求NSURLConnection更新某些在應用程序不在時可能已更改的api數據。然後我相應地更新一些變數。

所有這一切都發生在AppDelegate中

然後我叫NSNotificationCenter更新,顯示該變種在MainController.m通知工作,該方法被調用,但該變種具有前值的標籤。

奇怪的是,儘管var在ViewController中被更新(我可以在日誌中看到它,使用調試器並且一步一步地移動),但它仍然具有舊值並且會使我的計算混亂。

var在MainController.m中沒有聲明,所以它不是本地實例。

如果應用程序沒有進入後臺然後啓動,所有事情都按預期工作,這使得我在MainController的已保存實例中導致問題。

有關於此的任何想法?

+0

使用'NSURLSession'和'beginBackgroundTask' –

回答

0

好的,愚蠢的重溫。

我實際上是在AppDelegate中聲明瞭一個使它成爲本地變量的變量,所以全局在MainController中保持它的前一個值是正確的 刪除了AppDelegate.h和AppDelegate.m中的引用後,它就像它應該那樣工作。

相關問題