在NSUserDefaults中存储许多值是一种好习惯吗?

时间:2013-01-30 07:51:17

标签: ios objective-c entity nsuserdefaults

例如,我有一个名为Profile的实体,其属性如

name,
gender,
dateOfBirth,
height,
weight,
bloodGroup,
province,
country,
picture

但是,我将为整个应用程序使用单个配置文件。所以我认为我不需要将此对象持久化为核心数据。 将所有属性存储在NSUserDefaults中是一个好习惯吗?我的应用程序也可以在NSUserDefaults中存储其他字段。将许多值存储到NSUserDefaults中是一件好事吗?否则,任何其他想法将不胜感激。

3 个答案:

答案 0 :(得分:1)

您可以在NSUserDefaults中存储值,但确保添加条件,同时获取其他用户可能想要登录,例如您可以在注销时删除所有内容并保存登录。或者您可以将值存储在PList文件中。

答案 1 :(得分:0)

您可以使用NSUserDefaults,因为没有任何机密信息,如果任何信息是保密的,您应该在KeyChain中保存值。

您可以使用NSDictionary并将该字典直接存储到NSUserDefaults,这有助于您更轻松地访问数据。

访问this链接,了解如何操作。

希望这些信息可以帮助你..

答案 2 :(得分:-2)

iPhone SDK有一种非常优雅的方式可以在名为NSUserDefaults的结构中保存用户设置。您可以在此UserDefaults中添加一堆不同的对象 - 这些只是您将保存在应用程序文档文件夹中的用户设置字典。

使用NSDictionary用户可以存储商店数据。

NSMutableDictionary *dic = [[NSMutableDictionary  alloc] init];

[dic addObject:@"name" forKey:@"objProfile"];
[dic addObject:@"gender" forKey:@"objProfile"];

[NSUserDefaults standardDefaults] setObject:dic forKey:@"Profile"];

另一种解决方案是将数据存储在PList中。这是存储数据的最佳方式。

希望这会对你有所帮助。