Как уменьшить количество кодов валют, которые вы получаете от NSLocale.Key.currencyCode - PullRequest
0 голосов
/ 11 сентября 2018

У меня есть приложение ios, которое я пытаюсь разрешить пользователям выбирать, какую валюту они хотят использовать. Прямо сейчас у меня есть полный список валют, но там, кажется, есть некоторые дубликаты, такие как:

enter image description here

Есть ли способ отфильтровать остальных? Доллар не единственный с мультипликаторами, в некоторых из которых указаны диапазоны дат.

Я уверен, что есть какой-то встроенный метод, который делает это, но мой поиск пока не указал мне правильное направление.

Вот что я делаю:

let locale = NSLocale.current as NSLocale
let currencyCodesArray = NSLocale.isoCurrencyCodes
var currencies = [CurrencyModel]()

for currencyCode in currencyCodesArray {
        let currencyName = locale.displayName(forKey:

            NSLocale.Key.currencyCode, value : currencyCode)
        let currencySymbol = locale.displayName(forKey:NSLocale.Key.currencySymbol, value : currencyCode)

        if let _ = currencySymbol, let currencyName = currencyName {
            let currencyModel = CurrencyModel()
            currencyModel.currencyName = currencyName
            currencyModel.currencyCode = currencyCode

            currencies.append(currencyModel)
        }
    }

А затем использовать эти данные в talbeView

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

    let cell = tableView.dequeueReusableCell(withIdentifier: "cell")! as! CurrencyTableViewCell

    cell.name.text = currencies[indexPath.row].currencyName
    cell.symbol.text = currencies[indexPath.row].currencyCode

    return cell
}

А это моя валютная модель

class CurrencyModel {
var currencyName = ""
var currencyCode = ""

} * * тысяча двадцать-один

Ответы [ 2 ]

0 голосов
/ 11 сентября 2018

Вы должны использовать

Locale.commonISOCurrencyCodes

вместо

Locale.isoCurrencyCodes
0 голосов
/ 11 сентября 2018

Если все они имеют такую ​​форму: то есть бит, который вы хотите (бит, который вы не хотите), вы можете искать регулярные выражения.Поиск в списке, чтобы найти самые короткие и сохранить их.Затем вам придется что-то делать с другими странами, которые используют доллары или другие валюты и т. Д.

...