2010-12-03 30 views
1

我有一個單身人士,它有一個單身人士的第一個實例時創建的NSArray。何時應該將此數組保存到磁盤,在dealloc方法中?我檢查了蘋果文檔,它說你真的不應該在dealloc中,但沒有說明在哪裏。那麼,我打算每次修改數組時都要寫入磁盤?這看起來很浪費?將數組保存到磁盤中的單身人士

回答

3

通常,您應該保存狀態接近狀態更改的時間。如果你保存的狀態量非常小,那麼你可以等到application delegate -applicationWillResignActive:方法被調用。或者你可以單獨註冊NSNotificationCenter來觀察UIApplicationWillResignActiveNotification。然後保存。

如果你的數組將會非常大,那麼你可能希望不太經常保存。但是您還必須注意將陣列寫入磁盤需要多長時間。根據您的應用程序在何種情況下處於活動狀態,您可能沒有多少時間寫入磁盤。

您是否對可能需要寫入的最大數據量有很好的理解?這是受限制的還是開放式的?

+0

那麼每次用戶重新對tableView中的單元格進行重新排序(實際上有2個NSArrays),單例中的數組會得到更新以匹配,用戶可能一次重新排序多於一行,但它會被調用每一行都移動了,所以我不希望用戶移動一行,應用程序保存到磁盤,用戶移動另一行一毫秒後,必須再次保存到磁盤等。 – 2010-12-03 21:43:39