在我的视图控制器中,我调用一种方法来请求数据填充我的tableView并处理viewWillAppear
的任何通知以及UIApplicationDidBecomeActiveNotification
的通知观察者。
这在我最初启动应用时(而不是从后台启动)时会出现问题,因为我的loadJSON
方法会被调用两次,导致cellForRowAtIndexPath
在我的数据发生变化时崩溃。
有人建议如何处理这个问题吗?
答案 0 :(得分:0)
您可以在调用之前测试loadJSON任务是否正在执行。
或者你可以在执行之前取消私有的loadJSON任务。
答案 1 :(得分:0)
我使用全局对象来管理数据,我应该从不同的地方下载
我的对象(例如,名为DataManager)具有通知,块回调或委托,以通知侦听器有关数据更新的信息。
它还有检查其状态的方法,例如:isDownloading。如果我的DataManager更复杂的类,它有任何方面的状态或许多方法的枚举。
现在我不喜欢使用Singleton来实现DataManager,我更喜欢在AppDelegate中创建一个属性来存储管理器的实例。