UIViewController可见回调

3 objective-c uiviewcontroller ios4 ios ios5

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

  • 用户按两次主页按钮,进入多任务处理,设置并将连接到互联网
  • 用户回到我的应用程序的多任务处理,但没有按任何东西

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

- (void)applicationDidEnterBackground:(UIApplication *)application
- (void) applicationDidBecomeActive:(UIApplication *)application
Run Code Online (Sandbox Code Playgroud)

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

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

截图

断点不是肯定的!

任何有用的想法,除了AppDelegate?

ras*_*mus 7

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

[[NSNotificationCenter defaultCenter] addObserver: self
                                      selector: @selector(handleEnteredBackground:) 
                                      name: UIApplicationDidEnterBackgroundNotification
                                      object: nil];
Run Code Online (Sandbox Code Playgroud)

这样做viewDidLoad.同样地applicationDidBecomeActive.

不要忘记将自己当作观察者viewDidUnload.