2016-06-07 85 views
0

在我的視圖控制器中,我調用一個方法來請求數據來填充我的tableView並處理任何通知viewWillAppear以及通知觀察者UIApplicationDidBecomeActiveNotificationUIApplicationDidBecomeActiveNotification和viewWillAppear導致數據源衝突

這似乎會導致問題,當我最初啓動應用程序(不是從後臺),因爲我的loadJSON方法被調用兩次,導致cellForRowAtIndexPath崩潰,因爲我的數據正在改變。

任何人都有關於如何處理的建議?

+0

請分享一些例子。 – Aamir

回答

0

您可以在調用loadJSON任務之前測試您正在執行的任務。

或者您可以在執行它之前取消私有的loadJSON任務。

0

我使用全局對象來管理數據,我應該從不同的地方下載。
我的對象(例如,名爲DataManager)具有通知,塊回調或委託來通知偵聽器關於數據更新。
另外它有檢查他的狀態的方法,例如:isDownloading。如果我的DataManager更復雜的類,它具有枚舉狀態或任何方面的許多方法。

現在我不喜歡使用Singleton來實現DataManager,我更喜歡在AppDelegate中創建一個屬性來存儲管理器的實例。