我想为我的世界时钟应用程序制作几个字典数组:
let countriesList = [
["country": "Tokyo, Japan", "gmc": "GMT+9"],
["country": "New York, USA", "gmc": "GMT-5"]
]
由于我没有收到任何错误,我认为这没关系。 现在我的问题是,我如何访问每个国家? 我试图将它们全部列入一张桌子,我用谷歌搜索但我一无所获。有人可以帮忙吗?
答案 0 :(得分:5)
强烈建议为此目的使用自定义结构:
struct Country {
let name, gmc : String
}
let countriesList = [
Country(name: "Tokyo, Japan", gmc: "GMT+9"),
Country(name: "New York", gmc: "GMT-5")
]
现在在cellForRow
,您可以轻松访问这些属性:
let country = countriesList[indexPath.row]
cell.textLabel?.text = country.name
cell.detailTextLabel?.text = country.gmc
没有密钥订阅,没有类型转换,没有可选绑定,没有问题; - )
您可以使用
打印所有名称print(countryList.map{ $0.name })
答案 1 :(得分:2)
在您要设置国家/地区的cellForRowAt
方法中。
cell.lblCountry.text = self.countriesList[indexPath.row]["country"] as? String
如果你想要你的字典数组中的所有国家/地区列表。
let countries = self.countriesList.flatMap { $0["country"] as? String }
通过这个,您将获得包含所有country
值的字符串数组。
答案 2 :(得分:1)
您可以使用下标:
Grid