我正在編寫一個應用程序,用戶可以從幾個列表中添加和刪除對象。爲了在應用程序崩潰時保存它們的列表,我希望每次更改時都將它們寫入磁盤。我目前的計劃是創建一個觀察列表的類,並在每次更改時都會收到通知,以便對它們進行存檔(列表和其中的所有對象都遵循NSCoding協議)。每次更改時都保存一個列表
需要注意的是,我事先知道會有多少個列表,並且這些列表的長度預計不會超過100個項目(大多數會是10-20個)。
這是實現我想達到的最好方法嗎?這應該甚至成爲我擔心的問題,還是僅僅在應用程序退出時才創建這些列表的紀念品是可以接受的?我還在考慮繼承NSMutableArray的子類來創建一個只要它發生變化就自行保存的類,以便任何一個類都不必知道應該保存的所有列表。
修復崩潰可能比歸檔列表反覆更好... disk writing可能是昂貴的 – 2012-03-21 02:18:10
我沒有發現任何特別的事故,我知道。我只是想解釋任何外部邊緣情況。如果手機斷電,或者用戶從外面關閉應用程序(即,雙擊該按鈕以查看最近使用的應用程序並從那裏關閉應用程序)等,則該應用程序是否通過正常的清理方法? – 2012-03-21 02:53:40
在這種情況下,可能應該將數據保存到'applicationWillEnterBackground:'中,因爲每次按下home按鈕或鎖定按鈕或用戶切換到另一個應用程序時都會調用該數據。 – 2012-03-21 11:39:11