Sử dụng Mục tiêu-C
Bạn nên đăng ký một UIApplicationWillEnterForegroundNotification
trong của bạn ViewController
's viewDidLoad
phương pháp và bất cứ khi nào ứng dụng trở lại từ nền bạn có thể làm bất cứ điều gì bạn muốn làm trong phương pháp đăng ký thông báo. ViewController
's viewWillAppear hoặc viewDidAppear sẽ không được gọi khi ứng dụng trở lại từ nền cho tiền cảnh.
-(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.
}
Đừng quên hủy đăng ký thông báo mà bạn đã đăng ký.
-(void)dealloc {
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
Lưu ý nếu bạn đăng ký của bạn viewController
để UIApplicationDidBecomeActiveNotification
sau đó phương pháp của bạn sẽ được gọi mỗi khi ứng dụng của bạn trở nên linh hoạt, Nó không được khuyến khích đăng ký viewController
cho thông báo này.
Sử dụng Swift
Để thêm người quan sát, bạn có thể sử dụng đoạn mã sau
override func viewDidLoad() {
super.viewDidLoad()
NotificationCenter.default.addObserver(self, selector: "doYourStuff", name: UIApplication.willEnterForegroundNotification, object: nil)
}
func doYourStuff(){
// your code
}
Để loại bỏ người quan sát, bạn có thể sử dụng chức năng deinit của swift.
deinit {
NotificationCenter.default.removeObserver(self)
}