我对为什么此代码无法按以下注释工作感到困惑:
NSString *countryCode = [[NSLocale currentLocale] objectForKey: NSLocaleCountryCode];
NSLog(@"Country Code: %@", countryCode);
if (countryCode == @"US") {
NSLog(@"Country is USA"); // Does not execute since the if does not pass
}
语言环境为en_US,因此国家/地区代码为US。在那部分事情上一切都正确。我在做什么错了,如何显示“美国是美国”?
谢谢!
在iOS 5.1和6.0上进行测试,结果相同
最佳答案
无法使用==
运算符比较字符串,请尝试使用isEqualToString:
:
NSString *countryCode = [[NSLocale currentLocale] objectForKey: NSLocaleCountryCode];
NSLog(@"Country Code: %@", countryCode);
if ([countryCode isEqualToString: @"NL"]) {
NSLog(@"Country is NL");
}
由于我在荷兰,所以使用了
NL
:)