我需要存儲表中的一些對象。 它不會超過100個對象。 是不是像NSUserDefaults中的數組一樣存儲它的好方法?或者有更好的辦法嗎?在UserDefaults中存儲自定義數據是否好方法?
回答
雖然你可以存儲這是NSUserDefaults
使用[[NSUserDefaults standardUserDefaults] arrayForKey:@"key"];
你可能不應該。默認設計用來存儲非常小的數據量,比如用戶偏好(因此名稱)。如果您希望存儲比此更多的數據,那麼您可能需要查看.plists
,NSDocumentDirectory
,Core-Data
或SQLite
數據庫。
更好的方法是使用NSArray
的s writeToFile:atomically:
或writeToURL:atomically:
將其作爲磁盤上的二進制斑點序列化。 NSUserDefaults
不作爲二進制存儲,因此在加載時需要額外的解析時間,並且需要額外的時間寫入磁盤。 NSUserDefaults
也不是用來保存大量數據,而是用於一小組設置數據。
其intresting ..以及如何閱讀它? –
@EvgeniyS如果你想看一下'NSArray'文檔,你會發現有兩個init方法可以從文件'initWithContentsOfFile:','initWithContentsOfURL:'中讀取以及兩個方便的方法:'arrayWithContentsOfFile:','arrayWithContentsOfURL :' – JustSid
呃..對不起,當然a應該在文檔中查看.. Thx爲您的答案。我會閱讀更多關於和之後,我會接受你的或第一個答案.. :) –
否在NSUserDefaults上存儲數據並不好,因爲它會導致嚴重的黑客行爲。
代替它,您可以使用AppDelegate來全局存儲數據。
誰說數據是敏感的?我也沒有看到'AppDelegate'如何幫助保存數據。 – JustSid
您可以存儲數據,直到旅遊應用程序不被關閉。但如果你想按它,你可以使用plist。 – freelancer
AppDelegate是全球「管理」數據的好地方,但它不會在啓動之間存儲數據。 – Jeremy1026
將所有自定義數據存儲在NSDictionary或NSArray中。
現在保存字典或數組中的文檔目錄自定義數據遵循this鏈接
它不是什麼我問的問題..你說如何管理應用程序中的數據,但我問如何緩存數據更好的方式..對於你更好地定義自定義對象.. –
檢查編輯anser –
Thx的鏈接,JustSid說一樣。我想我會這樣做.. –
- 1. Spring數據MongoDB自定義存儲庫方法實現
- 2. Symfony2自定義存儲庫方法
- 3. 什麼是在JavaScript中定義數據的好方法?
- 4. 在SQL中存儲用戶定義數據的正確方法
- 5. 自定義存儲刪除()方法是在Django
- 6. 自定義項目是否存在於數據庫中?
- 7. 在數據庫中存儲字數的好方法?
- 8. 自定義Spring數據REST以僅公開存儲庫中選定的方法
- 9. 將數據存儲在內存中,這是一個好方法嗎?
- 10. 將長字符串存儲在數據庫中是否好?
- 11. GKPlayer - 存儲自定義數據
- 12. 用Facebook存儲自定義數據
- 13. Thread.CurrentThread存儲自定義數據,如userid
- 14. 用於檢查數組中是否存在元素的javascript自定義方法
- 15. 檢查數據存儲區中是否已存在數值的最佳方法
- 16. 哪張表是自定義Html存儲在Joomla數據庫?
- 17. 在使用Facebook API時定義和存儲自定義數據
- 18. 使用自定義Java對象還是使用HashMaps來存儲數據更好
- 19. 在java中存儲數據的更好方法?
- 20. 確定JSON Feed中是否存在值的更好方法
- 21. Symfony2 /在formType中使用自定義存儲庫方法
- 22. 使用phonegap,什麼是存儲數據的好方法?
- 23. SharedPreference是一種存儲大塊數據的好方法嗎?
- 24. SharedPreferences是否存儲在數據庫中?
- 25. 是否有.NET方法來存儲像我的自定義類的時間段?
- 26. 在自定義模型綁定器中訪問數據存儲的正確方法是什麼?
- 27. 是否有好的固定數據存儲在JSON而不是SQLite
- 28. 在Wordpress中,是否有引用自定義帖子類型自定義字段數據的方法?
- 29. 在Spring數據中自定義實現中間存儲庫
- 30. 檢查NSUserdefaults/UserDefaults中是否存在布爾關鍵字的正確方法
什麼樣的對象?雖然NSUserDefaults可以處理它,但我認爲如果您要存儲多達100個對象,將信息存儲在plist中會是一種更清晰的方法。 – Jeremy1026
另外,這些對象又是如何相互關聯的呢?如果您嘗試保存對象圖,則可以將其序列化,保存,然後在應用程序再次啓動時將其解除封存。 – FluffulousChimp
傑里米,你能告訴我更多關於plist存儲的信息嗎? –