Как я могу получить список стран с соответствующей валютой и языком от 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 ответа

Вот список соответствующих ключей и типов значений:

NSLocale компонентные ключи

Вы используете функцию objectForKey чтобы получить значения.

Если вы проверите currentLocale() метод, localeIdentifier это строковый формат типа "en_CN". ISOCountryCode() Метод просто возвращает список кодов стран, каждый из которых является частью localeIdentifier. Вместо этого вы можете использовать NSLocale.availableLocaleIdentifiers().

let countriesIdentifiers = NSLocale.availableLocaleIdentifiers()
for country in countriesIdentifiers {

let anyLocale = NSLocale(localeIdentifier: country)
// code here .....
}
Другие вопросы по тегам