viewWillAppear 和 UIApplicationDidBecomeActiveNotification

问题描述 投票:0回答:2

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

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

谢谢。

ios iphone notifications viewwillappear addobserver
2个回答
6
投票

您需要使用 UIApplicationWillEnterForegroundNotification 而不是 UIApplicationDidBecomeActiveNotification

后者会在您的应用程序每次激活时发布(首次启动、通话/短信中断后返回应用程序等)。但前者仅在从后台唤醒的情况下发布。请注意,在这种情况下,不会调用 viewWillAppear (乍一看应该是这样)。


0
投票

一种方法是使用一个标志,您可以在

didFinishLaunching
中设置该标志,因为每次启动仅执行一次。

© www.soinside.com 2019 - 2024. All rights reserved.