我需要存储表中的一些对象。 它不会超过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存储的信息吗? –