我可以在AppDelegate以外的其他地方使用以下方法吗?若是,怎么做?
- (void)applicationDidEnterBackground:(UIApplication *)application
答案 0 :(得分:13)
不,但您可以让其他对象注册UIApplicationDidEnterBackgroundNotification
通知。然后将在调用applicationDidEnterBackground:
的同时通知这些对象。
答案 1 :(得分:8)
这是UIApplicationDelegate
协议的方法,只能由符合它的类实现。
您可以使用NSNotificationCenter
对象从应用代理设置应用中其他对象的通知:
- (void)applicationDidEnterBackground:(UIApplication *)application {
[[NSNotificationCenter defaultCenter] postNotificationName:@"didEnterBackground" object:self];
}
您还可以收听UIApplicationDidEnterBackgroundNotification
通知,而不是执行上述操作。
注册要监听通知的对象,如下所示:
[[NSNotificationCenter defaultCenter] addObserver:someObject selector:@selector(someMethod:) name:@"UIApplicationDidEnterBackgroundNotification" object:nil];