当应用程序变为活动状态时,我正在使用UIApplicationDidBecomeActiveNotification刷新我的tableview。我的问题是,在我的ViewWillAppear中,我还调用了一个刷新该表数据的方法。
这导致在启动应用程序时刷新表两次。在应用程序最初启动时,如何让其中一个不要触发?刷新表有一些密集的网络和本地数据处理..所以我真的希望o只执行一次这个动作。
感谢。
答案 0 :(得分:6)
您需要使用 UIApplicationWillEnterForegroundNotification 而不是 UIApplicationDidBecomeActiveNotification 。
每当您的应用变为活动状态时(初始启动,在呼叫/短信中断后返回应用等),都会发布后者。但前者仅在从背景中醒来的情况下发布。请注意,在这种情况下,不会调用 viewWillAppear (因为它看起来应该是第一眼)。
答案 1 :(得分:0)
一种方法是使用标记,您可以在didFinishLaunching
中设置,因为每次启动只会执行一次。