语言未正确存储

时间:2012-10-06 16:39:45

标签: objective-c ios

我正在做一个让用户选择语言并在运行时更改它的应用程序。我试图存储所需语言时遇到问题。它在用户更改语言的同一执行期间正确运行,但在下一次执行时,它总是获得西班牙语(系统语言)。这是我用来存储语言的代码:

 NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

    if (sender.tag==1){

        [defaults setObject:[NSArray arrayWithObjects:@"ca",@"es", nil] forKey:@"AppleLanguages"];

    }else{

        [defaults setObject:[NSArray arrayWithObjects:@"es",@"ca", nil] forKey:@"AppleLanguages"];
    }

    [defaults synchronize];

非常感谢

1 个答案:

答案 0 :(得分:0)

每次启动应用时,系统都会覆盖AppleLanguages的值。

解决方案是将您想要的语言存储在单独的NSUserDefaults条目中,并在每次应用启动时加载它们(将它们写入AppleLanguages)。

希望这有帮助