当app从background切换到foreground,会trigger AppDelegate.m的2个方法:applicationWillEnterForeground and applicationDidBecomeActive
但却不会trigger current view controller的 viewWillAppear and viewDidAppear 方法,那么怎么通知current view呢?
答案是通过在current view controller里把self注册为该event的observer!
- (void) viewWillAppear:(BOOL)animated{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(appWillEnterForegroundNotification) name:UIApplicationWillEnterForegroundNotification object:nil];
}
- (void) appWillEnterForegroundNotification{
NSLog(@"trigger event when will enter foreground.");
}
不过还有3个重要的issues:
1. 必须在view controller的 viewWillDisappear/viewDidDisappear 其中一个方法中remove this observer。这是因为假设从当