【发布时间】:2011-08-17 07:59:53
【问题描述】:
我确信这是非常直接的事情,但我无法在任何地方找到相关信息。我需要我的应用在后台打开时重新加载一些信息(不是全新打开)。任何想法如何做到这一点?
【问题讨论】:
标签: iphone objective-c cocoa-touch ios
我确信这是非常直接的事情,但我无法在任何地方找到相关信息。我需要我的应用在后台打开时重新加载一些信息(不是全新打开)。任何想法如何做到这一点?
【问题讨论】:
标签: iphone objective-c cocoa-touch ios
您的应用可以覆盖您的UIApplicationDelegate 中的- (void)applicationWillEnterForeground:(UIApplication *)application。
您还可以让您的控制器成为UIApplicationWillEnterForegroundNotification 的观察者。根据 Apple Docs:在应用程序离开后台状态成为活动应用程序之前不久发布。
NIB 文件中带有控制器的示例代码,否则覆盖- (id)init:
- (void)awakeFromNib {
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(wakeUp:) name:UIApplicationWillEnterForegroundNotification object:nil];
}
- (void)wakeUp:(NSNotification *)pNotification {
NSLog(@"Name: %@", [pNotification name]);
NSLog(@"Object: %@", [pNotification object]);
NSLog(@"I am waking up");
}
- (void)dealloc {
[[NSNotificationCenter defaultCenter] removeObserver:self];
[super dealloc];
}
【讨论】:
- (id)init。
查看UIApplicationDelegate 协议中applicationDidBecomeActive 和applicationWillEnterForeground 的文档:
http://developer.apple.com/library/ios/#documentation/uikit/reference/UIApplicationDelegate_Protocol/Reference/Reference.html
【讨论】: