【发布时间】:2009-09-27 00:28:13
【问题描述】:
有没有一种方法可以在 viewWillDisappear 中测试它是否因为应用程序退出而被调用,而不是正常方式被关闭? App Delegate 中的 applicationWillTerminate 方法在当前视图关闭后调用。我想做不同的事情,具体取决于它是由于 IBAction 还是用户单击菜单按钮而被解雇。
谢谢!
【问题讨论】:
标签: iphone objective-c
有没有一种方法可以在 viewWillDisappear 中测试它是否因为应用程序退出而被调用,而不是正常方式被关闭? App Delegate 中的 applicationWillTerminate 方法在当前视图关闭后调用。我想做不同的事情,具体取决于它是由于 IBAction 还是用户单击菜单按钮而被解雇。
谢谢!
【问题讨论】:
标签: iphone objective-c
您应该在您的控制器中使用观察UIApplicationWillTerminateNotification,设置一个标志,然后在您的viewWillDisappear 实现中检查该标志。
NSNotificationCenter* defaultCenter = [NSNotificationCenter defaultCenter];
[defaultCenter addObserver:self
selector:@selector(applicationWillTerminate:)
name:UIApplicationWillTerminateNotification
object:nil];
【讨论】:
我尚未将它用于您的目的,但 UIApplicationWillResignActiveNotification 通知可能会在调用 applicationWillTerminate 之前发生。
扔掉……
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationWillResign:) name:UIApplicationWillResignActiveNotification object:NULL];
...进入您的 UIViewController 进行测试。
【讨论】: