如何从 iphone sdk 中的 ISOCountryCode 获取 ISOCurrencyCode?
Posted
技术标签:
【中文标题】如何从 iphone sdk 中的 ISOCountryCode 获取 ISOCurrencyCode?【英文标题】:How to get ISOCurrencyCode from a ISOCountryCode in iphone sdk? 【发布时间】:2010-08-08 10:06:26 【问题描述】:我有可用的 ISOCountryCode,现在我想从 ISOCountryCode 中得出这个国家的货币代码。我怎样才能做到这一点?
NSString *countryCode = < get from someother view>;
NSString *currencyCode = ?;
我在运行时从其他视图接收到这个国家代码?
【问题讨论】:
【参考方案1】:您将需要使用 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];
【讨论】:
我的问题是这样的。用户从列表中选择一个国家。对于这个国家,我需要找到货币。而且您指定的两种方式都不符合我的要求。我不能硬编码任何东西。我也稍微编辑了我的问题。我希望你能理解我的问题。【参考方案2】:NSLocale 封装了一组丰富的特定于域的信息,其中您有 NSLocaleCurrencyCode:
if let code = NSLocale.currentLocale().objectForKey(NSLocaleCurrencyCode)
print("\(code)")
【讨论】:
以上是关于如何从 iphone sdk 中的 ISOCountryCode 获取 ISOCurrencyCode?的主要内容,如果未能解决你的问题,请参考以下文章
从 Apple iPhone SDK 中的 UIPickerview 选择数据时如何显示图像
iPhone SDK如何将tableview中plist中的选定行传递到UIViewController