Использование Objective-C
Вы должны зарегистрировать UIApplicationWillEnterForegroundNotification
в вашем ViewController
«s viewDidLoad
метод и всякий раз , когда приложение возвращается из фона , вы можете делать все , что вы хотите сделать в методе зарегистрированного уведомления. ViewController
«S viewWillAppear или viewDidAppear не будет вызываться , когда приложение возвращается из фона на передний план.
-(void)viewDidLoad{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(doYourStuff)
name:UIApplicationWillEnterForegroundNotification object:nil];
}
-(void)doYourStuff{
// do whatever you want to do when app comes back from background.
}
Не забудьте отменить регистрацию уведомления, на которое вы зарегистрированы.
-(void)dealloc {
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
Примечание При регистрации viewController
для UIApplicationDidBecomeActiveNotification
то ваш метод будет вызываться каждый раз , когда ваше приложение становится активным, не рекомендуется регистрироваться viewController
для этого уведомления.
Использование Swift
Для добавления наблюдателя вы можете использовать следующий код
override func viewDidLoad() {
super.viewDidLoad()
NotificationCenter.default.addObserver(self, selector: "doYourStuff", name: UIApplication.willEnterForegroundNotification, object: nil)
}
func doYourStuff(){
// your code
}
Для удаления наблюдателя вы можете использовать функцию deinit swift.
deinit {
NotificationCenter.default.removeObserver(self)
}