viewWillAppear和UIApplicationDidBecomeActiveNotification

时间:2012-02-05 16:35:00

标签: iphone notifications viewwillappear addobserver

当应用程序变为活动状态时,我正在使用UIApplicationDidBecomeActiveNotification刷新我的tableview。我的问题是,在我的ViewWillAppear中,我还调用了一个刷新该表数据的方法。

这导致在启动应用程序时刷新表两次。在应用程序最初启动时,如何让其中一个不要触发?刷新表有一些密集的网络和本地数据处理..所以我真的希望o只执行一次这个动作。

感谢。

2 个答案:

答案 0 :(得分:6)

您需要使用 UIApplicationWillEnterForegroundNotification 而不是 UIApplicationDidBecomeActiveNotification

每当您的应用变为活动状态时(初始启动,在呼叫/短信中断后返回应用等),都会发布后者。但前者仅在从背景中醒来的情况下发布。请注意,在这种情况下,不会调用 viewWillAppear (因为它看起来应该是第一眼)。

答案 1 :(得分:0)

一种方法是使用标记,您可以在didFinishLaunching中设置,因为每次启动只会执行一次。