我正在尝试确定 iOS 中的用户语言。StackOverflow 有几个关于这个主题的答案,这对我有很大帮助,比如这个:Getting current device language in iOS?
我可以成功地检索到我在 NSLog 中寻找的值(即“en”或“de”),但每次我用 if/then 语句质疑它时,它似乎都不起作用。我的 viewDidLoad 中有这个用于测试:
- (void)viewDidLoad
{
[super viewDidLoad];
NSString *myLanguage = [[NSLocale preferredLanguages] objectAtIndex:0];
NSLog(@"The current languague is %@.", myLanguage);
if (myLanguage == @"de") {
self.myLabel.text = @"German";
} else if (myLanguage == @"en") {
self.myLabel.text = @"English";
} else {
self.myLabel.text = @"didn't work";
}
}
无论设备设置为英语还是德语,都只显示最后一个 else 语句。然而,NSLog 正确显示 en 或 de。
我究竟做错了什么?