我很困惑为什么这段代码不能按照下面的评论工作:
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。在那部分事情上一切都是正确的。我做错了什么,如何显示“Country is USA”?
谢谢!
在 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
:)
关于iphone - NSLocale - 查找 CountryCode 然后使用它来部署代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11326294/