将标题字符串设置为 iOS 设置包
Posted
技术标签:
【中文标题】将标题字符串设置为 iOS 设置包【英文标题】:Set Title String to Settings Bundle iOS 【发布时间】:2014-03-10 09:23:28 【问题描述】:我需要根据 iphone 设置语言/用户首选语言动态本地化我的设置屏幕文本。在我的场景中,本地化文本是从服务器获取的。我将文本存储在数据库中并在屏幕上显示。设置屏幕应根据用户首选语言/设备语言进行本地化。我试图访问 Root.plist 中项目的标题字符串。但它返回值,但我需要标题。我如何访问/更改项目的标题。
例如:
DefaultValue = 1;
Key = "enabled_preference";
Title = "Keep me logged in";
Type = PSToggleSwitchSpecifier;
[[NSUserDefaults standardUserDefaults]valueForKey:@"enabled_preference"];
它返回值为 1,但我需要标题“让我登录”,这需要更改。
我需要一个“标题”来本地化(即)而不是使用 .lproj 文件,我在字典中有一组本地化字符串。我需要用字典中的值设置标题。
我怎样才能做到这一点。
谢谢
【问题讨论】:
我不确定我是否理解了这个问题,但是如果你想为一个键设置一个值,试试这个 [[NSUserDefaults standardUserDefaults] setObject:@"the object" forKey:@"enabled_preference" ] ;!!如果您不是在寻找这个,请详细说明 @Harsh:我编辑了我的问题。我需要获取“标题”字符串(即)让我保持登录状态。我需要将其更改为我在字典中拥有的不同语言字符串。 试试这个 [[NSUserDefaults standardUserDefaults] setObject:NSLocalizedString(@"title", @"Comments") forKey:@"title" ];这能解决您的问题吗? 没有。它不工作。 setObject:forKey(forKey 总是匹配字典中的“Key”) 所以实际上你想先获取所有键,然后本地化它们,然后再本地化它们? 【参考方案1】:这是一种获取所有值和键的方法。
这可能会对你有所帮助,获取所有密钥并遍历每个人以获取您正在寻找的密钥
所有值:
NSLog(@"%@", [[[NSUserDefaults standardUserDefaults] dictionaryRepresentation] allValues]);
所有键:
NSLog(@"%@", [[[NSUserDefaults standardUserDefaults] dictionaryRepresentation] allKeys]);
所有键和值:
NSLog(@"%@", [[NSUserDefaults standardUserDefaults] dictionaryRepresentation]);
用于:
NSArray *keys = [[[NSUserDefaults standardUserDefaults] dictionaryRepresentation] allKeys];
for(NSString* key in keys)
// your code here
NSLog(@"value: %@ forKey: %@",[[NSUserDefaults standardUserDefaults] valueForKey:key],key);
【讨论】:
以上是关于将标题字符串设置为 iOS 设置包的主要内容,如果未能解决你的问题,请参考以下文章