【问题标题】:Methods like applicationDidEnterBackground not workingapplicationDidEnterBackground 等方法不起作用
【发布时间】:2013-03-10 19:04:10
【问题描述】:

我搜索过 StackOverflow 和 Google,但到目前为止没有任何帮助。为什么以下代码对我不起作用? Notting 出现在控制台中。 viewDidLoad 中的 NSLog 确实出现在控制台中...

在 ViewController.m 中

- (void)applicationDidEnterBackground:(UIApplication *)application
{
    NSLog(@"applicationDidEnterBackground");
}

该项目非常简单,一个故事板,一个视图控制器,仅限 iPad。

【问题讨论】:

标签: objective-c


【解决方案1】:

只有应用程序委托才能调用该方法,而不是视图控制器。该对象应符合UIApplicationDelegate 并需要设置为委托。您在 MainMenu.xib 中设置它。该 xib 中的 File's Owner 对象是应用程序本身;创建应用程序委托类的另一个对象并连接应用程序的delegate 出口。

任何对象都可以被告知应用程序事件,但是,通过在默认通知中心注册——应用程序对象将发送此消息给它的委托并发布通知。在这种情况下,您想注册UIApplicationDidEnterBackgroundNotification

【讨论】:

  • 您应该提到任何其他班级都可以通过注册UIApplicationDidEnterBackgroundNotification 通知来获得通知。
  • 谢谢! Josh 让我明白了,rmaddy 的解决方案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-27
  • 1970-01-01
  • 2018-09-12
  • 1970-01-01
  • 2014-08-17
  • 1970-01-01
相关资源
最近更新 更多