Как получить 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)")
            }
Другие вопросы по тегам