简体   繁体   English

在NSUserDefaults之间切换

[英]Switching between NSUserDefaults

Maybe somebody will know, how to "tag" NSuserdefaults. 也许有人会知道,如何“标记” NSuserdefaults。

I have like 10 user defaults: name pin etc... 我有10个用户默认设置:名称引脚等...

I want to make another object, which would have the same defaults as the other ones (same variables but different values). 我要创建另一个对象,该对象的默认值与其他对象相同(变量相同但值不同)。 Like a version, if object == 1 then load one userdefaults and if object == 0 another ones. 与版本类似,如果object == 1则加载一个用户默认值,如果object == 0则加载另一个用户默认object == 0 But how to make it done? 但是如何做到呢?

Tried to make something like this 试图做这样的事情

[NSUserDefaults setVersion:object.intValue];

But i guess this isn't the way to do it. 但是我想这不是做到这一点的方法。 So maybe anyone could help how to make it done? 因此,也许有人可以帮助实现这一目标?

To be more specific a simple example would help like how to do this: 更具体地说,一个简单的示例将有助于实现此目的:

Object (1 or 0) 对象(1或0)

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

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

How to set and get this Name depending on Object value? 如何根据对象值设置和获取此名称?

You could use persistent domains. 您可以使用永久域。

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

// make changes to the dictionary here

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

Note that you'll need to be accessing all the defaults via the dictionary if you do this. 请注意,如果执行此操作,则需要通过词典访问所有默认值。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM