当用户退出应用程序ios时调用viewWillDisappear

时间:2013-11-07 14:55:07

标签: ios

我有一个应用程序在我的一个类中的viewWillDisappear方法中存储值。例如,我将数据和时间存储在viewWillAppear方法中,并在viewWillDisappear方法中再次存储,因此我可以比较时差并将其记录下来。

但是,如果用户按下设备上的主页按钮,则不会运行viewWillDisappear代码。我试图在AppDelegate的{​​{1}}中调用此特定方法,但这会存储错误的信息,因为applicationDidEnterBackground方法实际上并未运行。我还尝试将它们存储在viewWillDisappear中,但同样,由于未运行NSUserDefaults方法,因此会存储错误的值。

用户按下主页按钮后,是否有办法为该视图运行viewWillDisappear方法?

1 个答案:

答案 0 :(得分:8)

在此通知的viewWillAppear注册表中......

-(void)viewWillAppear:(BOOL)animated {

[[NSNotificationCenter defaultCenter] addObserver: self
                                         selector: @selector(appEnteredBackground:)
                                             name: UIApplicationDidEnterBackgroundNotification
                                           object: nil];

}

-(void)viewWillDisappear:(BOOL)animated {

    [[NSNotificationCenter defaultCenter] removeObserver:self];

}

-(void)appEnteredBackground:(NSNotification *)appEnteredBackgroundNotification {

    //do your thing

}