在NSUserDefaults之间切换

时间:2012-11-13 08:58:44

标签: objective-c ios xcode

也许有人会知道,如何“标记”NSuserdefaults。

我有10个用户默认值: 名称 销 等...

我想创建另一个对象,它具有与其他对象相同的默认值(相同的变量但不同的值)。与版本一样,如果object == 1则加载一个用户默认值,如果object == 0加载其他用户默认值。但是如何完成呢?

试图做这样的事情

[NSUserDefaults setVersion:object.intValue];

但我想这不是这样做的方法。那么也许任何人都可以帮助如何完成它?

更具体地说,一个简单的例子将有助于如何做到这一点:

对象(1或0)

[[NSuserDefaults  standartUserDefaults] setObject: @"something"
                                                 forKey: @"Name"];
[[NSUserDefaults standartUserDefaults] synchronize];

NSString *name = [[NSUserDefaults standartUserDefaults] stringForKey:"@name"];

如何根据对象值设置和获取此名称?

1 个答案:

答案 0 :(得分:0)

您可以使用持久域。

NSMutableDictionary *defaults = [[[NSUserDefaults standardUserDefaults] persistantDomainForName:@"aString"] mutableCopy];

// make changes to the dictionary here

[[NSUserDefaults standardUserDefaults] removePersistentDomainForName:@"aString"];
[[NSUserDefaults standardUserDefaults] setPersistantDomain:defaults forName:@"aString"];

请注意,如果您这样做,则需要通过字典访问所有默认值。