2009-09-27 67 views
2

有沒有辦法在viewWillDisappear中進行測試,因爲應用程序正在退出而不是正常的方式被解僱?方法applicationWillTerminate在App Delegate中被調用當前視圖已關閉。我想根據它是由於IBAction而被解僱還是用戶點擊菜單按鈕來做不同的事情。確定UIViewController是否因應用程序退出而關閉?

謝謝!

回答

1

我還沒有使用它你的目的還,但可能會出現UIApplicationWillResignActiveNotification通知之前applicationWillTerminate被調用。

只要將...

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

...到您的UIViewController來測試它。

+0

當應用程序由於菜單按鈕而關閉時,UIApplicationWillResignActiveNotification似乎沒有被觸發。不過,applicationWillTerminate總是會觸發。 – Alex 2009-09-27 00:57:04

3

您應該使用您的控制器中的,設置一個標誌,然後檢查viewWillDisappear實施中的標誌。

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

我看到該viewWillDisappear在該通知之前被調用。那麼如何設置標誌很重要? – dizy 2010-01-25 23:52:28

相關問題