Ввести переменную как параметр массива - PullRequest
0 голосов
/ 28 мая 2020

У меня есть var:

// Russia, US, and other country, its dynamical changing
var mytest = someTextLabel.text 

, и мне нужно ввести mytest в качестве параметра словаря после JSON синтаксического анализа:

// compile error, dailyStat don't have member 'mytest'
self.myArray = dailyStat.mytest.map{ Double($0.recovered) } 

dailyStat имеют следующую структуру :

struct dailyStat: Codable {
    let france: [CovidNums]
    let russia: [CovidNums]
    let us: [CovidNums]
    let brazil : [CovidNums]
    let uk: [CovidNums]
    let spain: [CovidNums]

    enum CodingKeys: String, CodingKey {
        case us = "US"
        case russia = "Russia"
        case france = "France"
        case brazil = "Brazil"
        case uk = "United Kingdom"
        case spain = "Spain"
    }
}

struct CovidNums: Codable {
    let date: String
    let confirmed, deaths, recovered: Int
}

Я не хочу использовать переключатель case:

switch mytest {
    case "Russia"
        self.myArray = dailyStat.russia.map{ Double($0.recovered) }
    case "US"
        self.myArray = dailyStat.us.map{ Double($0.recovered) }
    ...

, так как у меня 100 стран

1 Ответ

0 голосов
/ 28 мая 2020

Лучше записать все свои страны в одну переменную:

var countries: Dictionary<String: CovidNums>
...