我試圖將數據保存到Plist,並且我認爲最好的地方應該是在委託.m「applicationWillTerminate」中,因爲Apple在那裏謹慎地發表評論「如果合適的話保存數據」。iOS/iPhone應用程序是保存數據的最佳位置嗎?
但是,當我使用iPhone Simulator進行測試時,這個方法似乎永遠不會被調用。我的NSLog語句永遠不會運行。
所以,這是退出應用程序時保存數據的最佳位置,如果是這樣,你知道它爲什麼永遠不會被調用嗎?
我試圖將數據保存到Plist,並且我認爲最好的地方應該是在委託.m「applicationWillTerminate」中,因爲Apple在那裏謹慎地發表評論「如果合適的話保存數據」。iOS/iPhone應用程序是保存數據的最佳位置嗎?
但是,當我使用iPhone Simulator進行測試時,這個方法似乎永遠不會被調用。我的NSLog語句永遠不會運行。
所以,這是退出應用程序時保存數據的最佳位置,如果是這樣,你知道它爲什麼永遠不會被調用嗎?
由於iOS 4應用程序可以輸入「背景」而不是終止,因此可能不會調用applicationWillTerminate:
。您也可以使用applicationDidEnterBackground:
。您可以創建一個方法來保存數據並在兩個委託方法中調用它。
或者你可以保存你的Plist,當它改變,這樣你總是知道數據是最新的。
謝謝 - 我只是跑了一個測試,它似乎總是去「applicationDidEnterBackground」。那麼什麼時候應用程序實際退出? – wayneh 2012-01-31 23:08:35
當用戶在底部欄中關閉它時(通過雙擊主頁按鈕或使用正確配置的iPad上的4個手指向上滑動顯示)。您可以按住圖標直到出現紅色的「 - 」。 – sidyll 2012-01-31 23:10:16
雖然這是特定的幾代 - 我的iPod 2G不這樣做。我剛剛在設備上運行我的應用程序,之後立即調用「applicationDidEnterBackground」和「applicationWillTerminate」。所以,只要數據發生變化,去BG可能是最好的,或者像凱勒說的那樣。謝謝。 – wayneh 2012-01-31 23:13:24