Objective c 在应用程序退出时关闭模式视图控制器

Objective c 在应用程序退出时关闭模式视图控制器,objective-c,iphone,modalviewcontroller,Objective C,Iphone,Modalviewcontroller,当用户按下按钮时,我有一个视图控制器(视图a)显示一个模式视图(B),视图B本身有一个按钮显示视图C。我的问题是,如果用户在显示视图B或C时退出应用程序,那么下次启动应用程序时,将显示相同的视图。有没有办法在退出时关闭视图B和C,或者在应用程序启动时显示视图a? 谢谢你的帮助我想你说的关闭是指应用程序进入后台时 在应用程序委派中,您可以通过ApplicationIdentinterBackground:方法解除控制器 最好的方法可能是在视图控制器类中添加一个观察者: - (void) viewD

当用户按下按钮时,我有一个视图控制器(视图a)显示一个模式视图(B),视图B本身有一个按钮显示视图C。我的问题是,如果用户在显示视图B或C时退出应用程序,那么下次启动应用程序时,将显示相同的视图。有没有办法在退出时关闭视图B和C,或者在应用程序启动时显示视图a?
谢谢你的帮助

我想你说的关闭是指应用程序进入后台时

在应用程序委派中,您可以通过ApplicationIdentinterBackground:方法解除控制器

最好的方法可能是在视图控制器类中添加一个观察者:

- (void) viewDidLoad {
    [super viewDidLoad];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(appClosing) name:@"appClosing" object:nil];
}

- (void) dealloc
{
    [[NSNotificationCenter defaultCenter] removeObserver:self name:@"appClosing" object:nil];
    [super dealloc];
}

- (void) appClosing
{
    [self dismissModalViewControllerAnimated:YES];
}
并在应用程序代理中发布通知:

- (void)applicationDidEnterBackground:(UIApplication *)application
{
     [[NSNotificationCenter defaultCenter] postNotificationName:@"appClosing" object:nil];
}

谢谢你的回答。我试过你的解决方案,效果很好。我还找到了另一个更简单的解决方案,在退出时显示主视图(编译时也会收到警告):-(void)applicationidenterbackground:(UIApplication*)application{[self-presentModalViewController:viewController.view-animated:NO];}干杯