0

我需要从表中存储一些对象。它不会超过 100 个对象。将它像数组一样存储在 NSUserDefaults 中是一种好方法吗?或者有什么更好的方法吗?

4

4 回答 4

3

尽管您可以存储它,但您可能不应该NSUserDefaults使用它。[[NSUserDefaults standardUserDefaults] arrayForKey:@"key"];默认值旨在存储非常少量的数据,例如用户偏好(因此名称)。如果您希望存储比这更多的数据,那么您可能需要查看.plistsNSDocumentDirectoryCore-DataSQLite数据库。

于 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 回答