ios - 在 IOS 中从国家名称获取国家代码

标签 ios country-codes nslocale

我正在从英语服务器中检索国家/地区名称。例如,“西类牙”

我想做的是,假设国家名称将用英文书写,获取国家代码。

我该怎么办?我发现从国家代码中获取国家名称非常容易,但我不知道如何进行相反的操作。

非常感谢。

最佳答案

杰夫的 answer在这里有所帮助,略有补充。

NSArray *countryCodes = [NSLocale ISOCountryCodes];
NSMutableArray *countries = [NSMutableArray arrayWithCapacity:[countryCodes count]];

for (NSString *countryCode in countryCodes)
{
    NSString *identifier = [NSLocale localeIdentifierFromComponents: [NSDictionary dictionaryWithObject: countryCode forKey: NSLocaleCountryCode]];
    NSString *country = [[[NSLocale alloc] initWithLocaleIdentifier:@"en_UK"] displayNameForKey: NSLocaleIdentifier value: identifier];
    [countries addObject: country];
}

NSDictionary *codeForCountryDictionary = [[NSDictionary alloc] initWithObjects:countryCodes forKeys:countries];

现在通过“codeForCountryDictionary”和您需要代码的国家名称,例如,

NSLog(@"%@",[codeForCountryDictionary objectForKey:@"Spain"]);

会产生“ES”的结果,这是西类牙的 2 个字母国家代码。

关于ios - 在 IOS 中从国家名称获取国家代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12671829/

相关文章:

iOS 应用预加载数据最佳实践

ios - 除非另有说明,否则所有 iOS GameCenter 回调都在主线程上执行吗?

localization - 我有一个国家代码列表和一个语言代码列表。如何从国家/地区代码映射到语言代码?

ios - 获取iOS当前语言(包括国家代码)

javascript - 如何引导中国游客到优酷,其他人到Youtube?

xcode - Swift NSLocale 模拟器 iOS 8

ios - NSLocaleCountryCode 返回 nil

objective-c - 没有 mask 层的 UIView 圆角

iphone - Swift 使用 NSLocale 作为日期格式化程序 - 需要自动设置国家/地区

ios - 适用于 App Store 中新发布的最小部署目标