iOS でユーザー言語を特定しようとしています。StackOverflow には、このトピックに関するいくつかの回答があり、次のように私を大いに助けてくれました: 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 を正しく表示します。
私は何を間違っていますか?