2016-06-07 68 views
0

在我的视图控制器中,我调用一个方法来请求数据来填充我的tableView并处理任何通知viewWillAppear以及通知观察者UIApplicationDidBecomeActiveNotificationUIApplicationDidBecomeActiveNotification和viewWillAppear导致数据源冲突

这似乎会导致问题,当我最初启动应用程序(不是从后台),因为我的loadJSON方法被调用两次,导致cellForRowAtIndexPath崩溃,因为我的数据正在改变。

任何人都有关于如何处理的建议?

+0

请分享一些例子。 – Aamir

回答

0

您可以在调用loadJSON任务之前测试您正在执行的任务。

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

0

我使用全局对象来管理数据,我应该从不同的地方下载。
我的对象(例如,名为DataManager)具有通知,块回调或委托来通知侦听器关于数据更新。
另外它有检查他的状态的方法,例如:isDownloading。如果我的DataManager更复杂的类,它具有枚举状态或任何方面的许多方法。

现在我不喜欢使用Singleton来实现DataManager,我更喜欢在AppDelegate中创建一个属性来存储管理器的实例。