将标题字符串设置为设置捆绑iOS

时间:2014-03-10 09:23:29

标签: ios objective-c localization xcode5 settings.bundle

我需要根据iphone设置语言/用户首选语言动态本地化我的设置屏幕文本。在我的场景中,本地化的文本是从服务器获取的。我将文本存储在数据库中并在屏幕上显示。应根据用户首选语言/设备语言对设置屏幕进行本地化。我试图访问Root.plist中项目的标题字符串。但它返回值,但我需要标题。如何访问/更改项目的标题。

例如:

{
        DefaultValue = 1;
        Key = "enabled_preference";
        Title = "Keep me logged in";
        Type = PSToggleSwitchSpecifier;
    }

[[NSUserDefaults standardUserDefaults]valueForKey:@"enabled_preference"]; 

将值返回为1,但我需要标题为“让我登录”,需要更改。

我需要一个“标题”来本地化(即)而不是使用.lproj文件,我在字典中有一组本地化的字符串。我需要用字典中的值设置标题。

我怎样才能做到这一点。

由于

1 个答案:

答案 0 :(得分:0)

这是一种可以获取所有值和键的方法。

这可能对您有所帮助,获取所有密钥并遍历所有人以获取您正在寻找的密钥

所有值:

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);
}