确定UIViewController是否因应用程序退出而关闭?
问题描述:
有没有办法在viewWillDisappear中进行测试,因为应用程序正在退出而不是正常的方式被解雇?方法applicationWillTerminate在App Delegate中被调用后当前视图已关闭。我想根据它是由于IBAction而被解雇还是用户点击菜单按钮来做不同的事情。确定UIViewController是否因应用程序退出而关闭?
谢谢!
答
我还没有使用它你的目的还,但可能会出现UIApplicationWillResignActiveNotification通知之前applicationWillTerminate被调用。
只要将...
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationWillResign:) name:UIApplicationWillResignActiveNotification object:NULL];
...到您的UIViewController来测试它。
答
您应该使用您的控制器中的,设置一个标志,然后检查viewWillDisappear
实施中的标志。
NSNotificationCenter* defaultCenter = [NSNotificationCenter defaultCenter];
[defaultCenter addObserver:self
selector:@selector(applicationWillTerminate:)
name:UIApplicationWillTerminateNotification
object:nil];
+2
我看到该viewWillDisappear在该通知之前被调用。那么如何设置标志很重要? – dizy 2010-01-25 23:52:28
当应用程序由于菜单按钮而关闭时,UIApplicationWillResignActiveNotification似乎没有被触发。不过,applicationWillTerminate总是会触发。 – Alex 2009-09-27 00:57:04