像applicationDidEnterBackground这样的方法不起作用

时间:2013-03-10 19:04:11

标签: objective-c

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

在ViewController.m中

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

该项目直接进行,一个故事板,一个视图控制器,仅限iPad。

1 个答案:

答案 0 :(得分:2)

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

任何对象都可以通知应用程序事件,但是,通过注册默认通知中心 - 应用程序对象将向该代理发送此消息并发布通知。在这种情况下,您要注册UIApplicationDidEnterBackgroundNotification