Как получить ISOCurrencyCode из ISOCountryCode в iphone SDK?
У меня есть ISOCountryCode, и теперь я хочу получить код валюты этой страны из ISOCountryCode. Как я могу этого достичь?
NSString *countryCode = < get from someother view>;
NSString *currencyCode = ?;
Я получаю этот код страны из какого-либо другого представления о времени выполнения?
2 ответа
Решение
Вам нужно будет использовать NSLocale. Чтобы получить код валюты из определенного кода страны:
NSString *countryCode = @"US";
NSDictionary *components = [NSDictionary dictionaryWithObject:countryCode forKey:NSLocaleCountryCode];
NSString *localeIdent = [NSLocale localeIdentifierFromComponents:components];
NSLocale *locale = [[[NSLocale alloc] initWithLocaleIdentifier:localeIdent] autorelease];
NSString *currencyCode = [locale objectForKey: NSLocaleCurrencyCode];
Вы также можете получить его для текущей локали, то есть для пользовательских настроек:
NSString *currencyCode = [[NSLocale currentLocale] objectForKey: NSLocaleCurrencyCode];
NSLocale инкапсулирует богатый набор специфичной для домена информации, среди прочего у вас есть NSLocaleCurrencyCode:
if let code = NSLocale.currentLocale().objectForKey(NSLocaleCurrencyCode) {
print("\(code)")
}