今天遇到個需求,當(dāng)app從前臺調(diào)到后臺時项栏,再從后臺調(diào)回前臺時浦辨,要處理一些業(yè)務(wù)邏輯,我覺得很簡單沼沈,如果App的重新出現(xiàn)在界面流酬,那肯定會調(diào)用ViewController的- (void)viewWillAppear:(BOOL)animated方法。道理很簡單列另,不就是跟vc的進(jìn)棧出棧一樣嗎芽腾?于是把一些操作寫在上,運(yùn)行起來页衙,發(fā)現(xiàn)并沒有我們想要的效果摊滔。
后來在網(wǎng)上查了一下,發(fā)現(xiàn)這樣并不會調(diào)用viewWillAppear這個方法
那怎么辦店乐,其實很簡單艰躺,iOS已經(jīng)幫我們做好了一些事,只要我們注冊監(jiān)聽一下就好了
上代碼
- (void)viewWillAppear:(BOOL)animated{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationWillEnterForeground)name:UIApplicationWillEnterForegroundNotification object:nil];
}
- (void)applicationWillEnterForeground{
//do u want to do
}
這樣就能在VC中監(jiān)聽到app從后臺回到前臺了眨八。
最后一定別忘了要remove這個監(jiān)聽者
- (void)viewDidDisappear:(BOOL)animated{
[[NSNotificationCenter defaultCenter] removeObserver:self];
}