【发布时间】:2014-12-24 03:12:44
【问题描述】:
- (NSString *)countryNameByCode:(NSString*)countryCode
{
NSString *identifier = [NSLocale localeIdentifierFromComponents:@{NSLocaleCountryCode: countryCode}];
NSString *countryName = [[NSLocale currentLocale] displayNameForKey:NSLocaleIdentifier value:identifier];
返回国家名称;
}
这返回了nil。为什么?
【问题讨论】:
-
这个问题只有模拟器。我今天在设备上进行了测试,我得到了正确的国家名称。
-
我自己在模拟器上遇到了这个问题——我用所有国家的列表填充了一个表格视图,在模拟器中它只是因为 displayNameForKey 返回 null 而崩溃。我已经在所有带有 8.1 的模拟器设备上尝试过,它们都崩溃了。带有 iOS 7.1 的 iPhone4 和 iPhone 5 模拟器运行良好。我的代码在安装了 8.1 的物理设备 iPhone4s 和 iPhone5 上也运行良好,所以我猜它只是一个 Xcode 错误。解决方案 - 在苹果修复之前,在设备上进行测试 - 这是一个错误,因为我手头没有 6 和 6 plus :(
标签: ios objective-c nslocale