swift3 - 如何访问数组中的字典?

kim*_*mmo -2 swift swift3

我想为我的世界时钟应用程序制作几个字典的数组,如下所示:

let countriesList = [
    ["country": "Tokyo, Japan", "gmc": "GMT+9"],
    ["country": "New York, USA", "gmc": "GMT-5"]
]
Run Code Online (Sandbox Code Playgroud)

由于我没有收到错误,我假设这没关系.现在我的问题是,我如何访问每个国家?我试图将它们全部列入一张桌子,我用Google搜索但我什么也没得到.有人可以帮忙吗?

vad*_*ian 5

强烈建议为此目的使用自定义结构:

struct Country {
    let name, gmc : String
}

let countriesList = [
    Country(name: "Tokyo, Japan", gmc: "GMT+9"),
    Country(name: "New York", gmc: "GMT-5")
]
Run Code Online (Sandbox Code Playgroud)

现在cellForRow您可以轻松访问属性:

let country = countriesList[indexPath.row]
cell.textLabel?.text = country.name
cell.detailTextLabel?.text = country.gmc
Run Code Online (Sandbox Code Playgroud)

没有密钥订阅,没有类型转换,没有可选绑定,没有问题;-)

您可以打印所有名称

print(countryList.map{ $0.name })
Run Code Online (Sandbox Code Playgroud)