Swift:在字典数组中访问数组值

ask*_*ale 3 arrays dictionary swift

我目前正在努力从字典数组中的数组中获取值。基本上,我想从存储在字典数组中的数组中获取第一个“ [0]”。这基本上是我所拥有的:

var array = [[String:Any]]()
var hobbies:[String] = []
var dict = [String:Any]()
Run Code Online (Sandbox Code Playgroud)

viewDidLoad代码:

dict["Name"] = "Andreas"
hobbies.append("Football", "Programming")
dict["Hobbies"] = hobbies
array.append(dict)
Run Code Online (Sandbox Code Playgroud)

///-但是,我只能使用以下代码显示名称:

var name = array[0]["Name"] as! String
Run Code Online (Sandbox Code Playgroud)
  • 但是我也希望能够在存储有名称的数组中显示第一个值。这怎么可能?

是的; 我知道这种方法还有其他选择,但是这些值来自Firebase(子路径)-但是我只需要找到一种在字典数组中显示数组的方法。

提前致谢。

vac*_*ama 5

如果您知道"Hobbies"是有效键,并且其字典值是的数组String,则可以使用以下命令直接访问该数组中的第一项:

let hobby = (array[0]["Hobbies"] as! [String])[0]
Run Code Online (Sandbox Code Playgroud)

但是如果"Hobbies"不是有效的密钥或值不是的话,它将崩溃[String]

访问数组的一种更安全的方法是:

if let hobbies = array[0]["Hobbies"] as? [String] {
    print(hobbies[0])
}
Run Code Online (Sandbox Code Playgroud)