- (void)applicationDidEnterBackground:(UIApplication*)应用程序

Saj*_*are 3 iphone xcode ios

我可以在AppDelegate以外的地方使用以下方法吗?如果是的话怎么样?

- (void)applicationDidEnterBackground:(UIApplication *)application
Run Code Online (Sandbox Code Playgroud)

Ole*_*ann 13

不,但您可以让其他对象注册UIApplicationDidEnterBackgroundNotification通知.然后将同时通知这些对象applicationDidEnterBackground:被调用.


Jac*_*kin 8

这是UIApplicationDelegate协议的一种方法,只能通过符合它的类来实现.

您可以使用以下NSNotificationCenter对象从应用程序委托设置应用程序中其他对象的通知:

- (void)applicationDidEnterBackground:(UIApplication *)application {
   [[NSNotificationCenter defaultCenter] postNotificationName:@"didEnterBackground" object:self];
}
Run Code Online (Sandbox Code Playgroud)

还有UIApplicationDidEnterBackgroundNotification通知,你可以听,而不是做上述.

注册要监听通知的对象,如下所示:

[[NSNotificationCenter defaultCenter] addObserver:someObject selector:@selector(someMethod:) name:@"UIApplicationDidEnterBackgroundNotification" object:nil];
Run Code Online (Sandbox Code Playgroud)