UIViewController可见回调[英] UIViewController visible callback

本文是小编为大家收集整理的关于UIViewController可见回调的处理方法,想解了UIViewController可见回调的问题怎么解决?UIViewController可见回调问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我正在开发一个 iOS 应用程序,当我有互联网连接时需要做一些事情,而当我没有互联网连接时需要做一些事情.如果我没有在某个时候,我会向用户显示一条消息,让我给我互联网并回来.问题是如何检测以下情况:

  • 用户按下 Home 键两次,进入多任务、设置并连接到互联网
  • 用户返回我的应用进行多任务处理,但没有按任何操作

我知道我会收到 AppDelegate 的回调:

- (void)applicationDidEnterBackground:(UIApplication *)application
- (void) applicationDidBecomeActive:(UIApplication *)application

但是代码(它不是由我启动的)非常大,如果有任何替代方案,我不想在那里处理 UIViewController 需要的.

我的 UIViewController 的 - (void)viewDidAppear:(BOOL)animated 当用户回来时它不会被调用.

screenshot

确定没有命中的断点!

除了 AppDelegate 之外,还有什么可用的想法吗?

推荐答案

可以使用通知中心在视图控制器内监听applicationDidEnterBackground:

[[NSNotificationCenter defaultCenter] addObserver: self
                                      selector: @selector(handleEnteredBackground:) 
                                      name: UIApplicationDidEnterBackgroundNotification
                                      object: nil];

在 viewDidLoad 中执行此操作.applicationDidBecomeActive 也是如此.

不要忘记将自己作为 viewDidUnload 中的观察者移除.

本文地址:https://www.itbaoku.cn/post/924468.html