2010-09-20 39 views
0

我用一個按鈕和一個UISlider做了一個小測試應用程序。觸摸該按鈕可更改其標籤文字。 我已經爲兩個控件添加了IBOutlet屬性。我釋放viewDidUnload中的所有屬性,並將它們設置爲dealloc中的零。爲什麼我的iPhone應用程序部分記住它的UI狀態?

有趣的是現在我觸摸按鈕。它的標籤從「0」更改爲「1」,其文本更新:標籤== 1 - >「B」,標籤== 0 - >「A」。所以文字現在說「B」。 然後我關閉應用程序(iPhone主頁按鈕)並重新啓動它。 仍按鈕說「B」!這怎麼可能?該應用沒有終止?

上運行的iOS4.1這裏的iPhone 4

回答

2

你說得對。該應用程序沒有終止。在iOS 4中,當主頁按鈕被按下時,應用程序被暫停。當你「重新啓動」應用程序時,它只是移動到前臺。這就是爲什麼你的應用程序狀態沒有改變。注意:一旦暫停,應用程序可能會在沒有通知的情況下被操作系統終止,因此請確保在應用程序暫停前完成所有保存操作,例如applicationDidEnterBackground:

+0

這是可怕的東西。 :-) – Krumelur 2010-09-20 20:21:46

+0

我可以強制應用程序「死」嗎?我的意思是,我可以在「applicationDidEnterBackground」中調用任何東西來真正結束應用程序? – Krumelur 2010-09-20 20:22:14

+0

防止您的應用被暫停的適當方法是退出。在您應用程序的Info.plist文件中,將UIApplicationExitsOnSuspend的值設置爲YES。如果你這樣做,當用戶點擊主頁按鈕時,你的應用程序委託的applicationWillTerminate:方法將被調用,然後你的應用程序將終止。 – 2010-09-20 20:41:34

相關問題