确定UIViewController是否因应用程序退出而关闭?

时间:2009-09-27 00:28:14

标签: iphone objective-c

是否有办法在 viewWillDisappear 中进行测试,因为应用程序正在退出,而不是正常的解散方式?在关闭当前视图后,App Delegate中的 applicationWillTerminate 方法称为。我想做不同的事情取决于它是由于IBAction被解雇还是用户点击菜单按钮。

谢谢!

2 个答案:

答案 0 :(得分:3)

您应该使用控制器中的UIApplicationWillTerminateNotification,设置一个标志,然后检查viewWillDisappear实施中的标记。

NSNotificationCenter* defaultCenter = [NSNotificationCenter defaultCenter];
[defaultCenter addObserver:self       
                  selector:@selector(applicationWillTerminate:)
                      name:UIApplicationWillTerminateNotification
                    object:nil];

答案 1 :(得分:1)

我还没有将它用于您的目的,但在 applicationWillTerminate 被调用之前可能会发生 UIApplicationWillResignActiveNotification 通知。

扔掉......

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationWillResign:) name:UIApplicationWillResignActiveNotification object:NULL];

...进入你的UIViewController进行测试。