viewWillAppear 和 viewDidLoad 中的方法未加载

Method in viewWillAppear and viewDidLoad didn't loaded

我在 viewcontroller 中创建了一个检查服务器状态的方法,我需要在每次打开应用程序时检查它。

我从 viewWillAppear 和 viewDidLoad 调用了 [self checkStatus];,但是当我打开应用程序时,通过单击主页按钮,我尝试再次打开应用程序(单击应用程序中的应用程序图标),这个方法没有被调用.我有一个 NSLog 可以查看它何时启动。

我很沮丧。感谢您的帮助。

iOS不是再次调用那些方法,而是AppDelegate中的委托方法。然后你必须将消息传播到你的控制器。

希望对您有所帮助:https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIApplicationDelegate_Protocol/

您可以使用 NotificationCenter 对应用程序更改做出反应:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(doSomething:) name:UIApplicationDidBecomeActiveNotification object:nil];

顺便说一句:不要忘记在不需要的时候removeObserver

[[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationDidBecomeActiveNotification object:nil];

你也可以使用UIApplicationWillEnterForegroundNotification等,看你需要什么。

您应该在 Apple Developer 页面上阅读有关应用程序生命周期的信息:)。阅读:

  • AppleDeveloperLink 特别是部分:"Execution States for Apps" 了解更多关于应用程序生命周期的信息。

  • WhosebugLink 了解更多关于视图生命周期的信息。