回答
要保存狀態,NSUserDefaults是要走的路。我相信大多數(如果不是全部的話)應用程序數據實例在升級之後由於AppStore上的問題而被刪除。它們可能與數據格式的變化有關,但是如果你只使用NSUserDefaults和標準的plist-storable對象(NSString,NSDictionary,NSNumber,NSArray,NSNumber和primitives),你應該是安全的。
保存狀態(數據,應用程序信息等)最常見的方式是使用Sqlite3。我不確定更新會如何清除它,但更新過程可能會覆蓋數據文件。
另一種選擇是使用UserPrefs(NSUserDefaults)。同樣,我不確定最大尺寸,或者即使它適合您需要堅持的數據。
我使用sqlite來存儲所有的應用程序數據和首選項。爲確保更新不會擦除數據,請確保sqlite文件存儲在應用程序的Documents目錄中,該目錄不會被升級覆蓋。 Apple提供的一些示例代碼(我認爲是「SQLite Books」)提供了代碼來處理此問題。
這真的取決於你在做什麼和你的需求。
如果是少量數據NSUserDefaults是一個很好的選擇。您還可以將字典或數組保存到應用程序的Documents文件夾中,然後在啓動時重新加載該文件。
SQLite很好,但除非你有很多你要查詢的數據,否則只是保存狀態而已。
對於少量數據NSUserDefaults是一個完美的解決方案,如果您需要特別查詢數據,那麼sqlite是最佳選擇。這兩種解決方案非常適合在設備上存儲數據,如果您需要更多的靈活性和功能,您可以考慮遠程數據,即Web服務和服務器數據庫。
Here是一個討論的鏈接,提供了一個非常好的示例來說明如何訪問您的數據以及哪種類型的存儲方案在某些情況下更有利。 @Ben Gottlieb的解決方案是針對性的,我只是認爲這個問題會增加額外的資源。希望這可以幫助!
有一個簡單的方法來做到的正是這種 爲了節省:
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setObject:@"TextToSave" forKey:@"keyToFindText"];
加載:
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
NSString *textToLoad = [prefs stringForKey:@"keyToFindText"];
重要的是,你沒有非常大的值存儲在NSUserDefaults
。如果你這樣做,蘋果評論有可能會陷入麻煩。
通常,用戶默認值用於存儲短鍵和首選項,例如用戶音量級別,他們想要使用遊戲中心還是發送故障日誌。
- 1. 在iPhone上保存XML文件的最佳方法?
- 2. 在android上保存小數據的最佳方法
- 3. 在AWS上保存「事件」數據的最佳方法
- 4. iphone-存儲數據的最佳方式
- 5. 在iPhone上存儲數據的最佳方式是什麼?
- 6. 保存源函數的最佳方法
- 7. 在iPhone上保存用戶登錄信息的最佳方式
- 8. 在iOS上保存大型數組的最佳方法
- 9. 在Android中保存和讀取數據的最佳方法
- 10. 在數據庫中保存datagridview的最佳方法
- 11. 在android中保存數據的最佳方法
- 12. 從閃存保存數據的最佳方法
- 13. 將PHP數組數據保存到mysql表的最佳方法
- 14. 核心數據 - 保存「項目數」的最佳方法
- 15. xml數據存儲的最佳方法
- 16. 存儲數據表的最佳方法
- 17. 在網頁上爲用戶保存本地數據的最佳方法?
- 18. 使用SWIFT在PARSE上保存日期數據和結果的最佳方法
- 19. 在windows phone上保存大量數據的最佳方法是什麼?
- 20. 在Google App Engine上存儲常量數據的最佳方法
- 21. 最佳方式將數據保存在iPod的觸摸/ iPhone的Objective-C
- 22. 以pdf格式保存javascript數據的最佳方法
- 23. 爲10k +用戶保存用戶數據的最佳方法
- 24. 將大量數據保存到對象中的最佳方法
- 25. 保存和檢索圖像到數據庫的最佳方法
- 26. 保存少量數據的最佳方法
- 27. 將數據保存到db的最佳方法
- 28. 將數據保存到iOS的最佳方法是什麼?
- 29. 保存圖像的最佳方法?
- 30. 保存父對象的最佳方法
我想你的意思是NSUserDefaults – 2008-11-21 01:00:47
是的。哎呦。將編輯 – JamesSugrue 2008-11-21 01:23:44