我想获得一份包含相应语言和货币的国家/地区列表。
首先,我创建了我的类来存储我需要的信息:
class Country: NSObject {
var localeID:String?
var name:String?
var code:String?
var currencyCode:String?
var currencySymbol:String?
var currencyName:String?
var languageCode:String?
var languageName:String?
}
然后我用ISOCountryCodes开始迭代:
let countriesISOCodes = NSLocale.ISOCountryCodes()
for country in countriesISOCodes {
// code here .....
}
然后我尝试在 for loop 中获取国家/地区名称:
let anyLocale = NSLocale(localeIdentifier: country)
country.name = anyLocale.displayNameForKey(NSLocaleCountryCode, value : code)
在我尝试获取 currencyCode , currencySymbol , currencyName之前,一切都很棒 , languageCode , languageName
我尝试了NSLocale.objectForKey
和NSLocale.displayNameForKey
的一系列组合,但没有任何效果。
您知道我如何获得使用ISOCountryCode的国家/地区列表以及相应的货币和语言信息吗?
答案 0 :(得分:1)
答案 1 :(得分:0)
如果您选中currentLocale()
方法,则localeIdentifier
是字符串格式,例如" en_CN"。 ISOCountryCode()
方法只返回一个国家/地区代码列表,每个代码都是localeIdentifier的一部分。您可以改用NSLocale.availableLocaleIdentifiers()。
let countriesIdentifiers = NSLocale.availableLocaleIdentifiers()
for country in countriesIdentifiers {
let anyLocale = NSLocale(localeIdentifier: country)
// code here .....
}