【发布时间】:2010-10-25 19:21:09
【问题描述】:
我可以在 AppDelegate 以外的地方使用下面的方法吗?如果可以,如何?
- (void)applicationDidEnterBackground:(UIApplication *)application
【问题讨论】:
我可以在 AppDelegate 以外的地方使用下面的方法吗?如果可以,如何?
- (void)applicationDidEnterBackground:(UIApplication *)application
【问题讨论】:
不,但您可以让其他对象注册UIApplicationDidEnterBackgroundNotification 通知。然后这些对象将在调用applicationDidEnterBackground: 的同时得到通知。
【讨论】:
这是UIApplicationDelegate协议的一个方法,只能由符合它的类来实现。
您可以使用NSNotificationCenter 对象从您的应用委托中为您的应用中的其他对象设置通知:
- (void)applicationDidEnterBackground:(UIApplication *)application {
[[NSNotificationCenter defaultCenter] postNotificationName:@"didEnterBackground" object:self];
}
您还可以收听UIApplicationDidEnterBackgroundNotification 通知,而不是执行上述操作。
像这样注册你想要监听通知的对象:
[[NSNotificationCenter defaultCenter] addObserver:someObject selector:@selector(someMethod:) name:@"UIApplicationDidEnterBackgroundNotification" object:nil];
【讨论】: