2009-08-18 61 views
0

對於我目前的應用程序,我使用NSKeyedArchiver方法在啓動之間將我的對象保存到iPhone。我想知道在使用版本號創建該文件時是否有意義,以便在將來當應用程序啓動時,我們將知道應該遷移的數據類型。建議如何使用NSKeyedArchiver序列化的自定義對象的NSArray那樣簡單?如果是這樣/如何存儲版本號?版本持久性鍵控存檔?

謝謝!

回答

0

如果您覺得格式會改變,那麼是的,您需要一些方法來檢測您正在使用的文件的版本。一個簡單的方法來做到這一點(因爲你使用NSArray)只需將版本號作爲NSNumber添加到數組的開頭或結尾。或者,對於實際上並未更改文件的更復雜的方法,您可以將信息存儲在單獨的文件中(例如,使用鏈接文件名和版本號的NSDictionary)。或者,您可以使用用戶默認系統來存儲它,如果它是舊版本,請更新文件和用戶默認密鑰。

我不會使用第二種方法,除非您正在處理多個鍵控數據文件。在這三個中,我可能會選擇最後一個,但可能有其他方法可以做到這一點,這樣做更有意義。