我需要从表中存储一些对象。它不会超过 100 个对象。将它像数组一样存储在 NSUserDefaults 中是一种好方法吗?或者有什么更好的方法吗?
问问题
276 次
4 回答
3
尽管您可以存储它,但您可能不应该NSUserDefaults
使用它。[[NSUserDefaults standardUserDefaults] arrayForKey:@"key"];
默认值旨在存储非常少量的数据,例如用户偏好(因此名称)。如果您希望存储比这更多的数据,那么您可能需要查看.plists
、NSDocumentDirectory
、Core-Data
或SQLite
数据库。
于 2012-08-29T11:51:52.077 回答
2
NSArray
更好的方法是使用swriteToFile:atomically:
或将其序列化为磁盘上的二进制 blob writeToURL:atomically:
。NSUserDefaults
不存储为二进制文件,因此在加载时需要额外的解析时间,并且需要额外的时间来写入磁盘。NSUserDefaults
也不是为保存大量数据而设计的,而是为一小部分设置数据而设计的。
于 2012-08-29T11:51:56.383 回答
0
将所有自定义数据存储在 NSDictionary 或 NSArray 中。
现在在文档目录中保存包含自定义数据的字典或数组,点击 此链接
于 2012-08-29T12:05:19.817 回答
-2
否 在 NSUserDefaults 上存储数据不好,因为它可能导致严重的黑客攻击。
取而代之的是,您可以使用 AppDelegate来全局存储数据。
于 2012-08-29T11:54:29.303 回答