Как я могу получить список стран с соответствующей валютой и языком от NSLocale?
Я хотел бы получить список стран с соответствующим языком и валютой.
Сначала я создал свой класс для хранения необходимой мне информации:
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 .....
}
Затем я попытался получить название страны для цикла с помощью:
let anyLocale = NSLocale(localeIdentifier: country)
country.name = anyLocale.displayNameForKey(NSLocaleCountryCode, value : code)
Все было замечательно, пока я не попытался получить currencyCode, currencySymbol, currencyName, languageCode, languageName
Я попробовал кучу комбинаций NSLocale.objectForKey
а также NSLocale.displayNameForKey
и ничего не получалось.
Знаете ли вы, как я могу получить список стран, использующих ISOCountryCode, с соответствующей информацией о валюте и языке?
2 ответа
Вот список соответствующих ключей и типов значений:
Вы используете функцию objectForKey
чтобы получить значения.
Если вы проверите currentLocale()
метод, localeIdentifier
это строковый формат типа "en_CN". ISOCountryCode()
Метод просто возвращает список кодов стран, каждый из которых является частью localeIdentifier. Вместо этого вы можете использовать NSLocale.availableLocaleIdentifiers().
let countriesIdentifiers = NSLocale.availableLocaleIdentifiers()
for country in countriesIdentifiers {
let anyLocale = NSLocale(localeIdentifier: country)
// code here .....
}