I开发者_开发知识库 have the ISOCountryCode avaliable and now i want to derive the currencyCode of this country from the ISOCountryCode. How can i achieve that?
NSString *countryCode = < get from someother view>;
NSString *currencyCode = ?;
I receive this country code from some other view on runtime?
You will need to use NSLocale. To retrieve the currency code from a specific country code:
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];
You can also get it for the current locale, ie the user settings:
NSString *currencyCode = [[NSLocale currentLocale] objectForKey: NSLocaleCurrencyCode];
NSLocale encapsulates a rich set of domain-specific information, among others you have NSLocaleCurrencyCode:
if let code = NSLocale.currentLocale().objectForKey(NSLocaleCurrencyCode) {
print("\(code)")
}
精彩评论