[英]Swift: Accessing array value in array of dictionaries
我目前正在努力从字典数组中的数组中获取值。 基本上我想从存储在字典数组中的数组中获取第一个“[0]”。 这基本上就是我所拥有的:
var array = [[String:Any]]()
var hobbies:[String] = []
var dict = [String:Any]()
viewDidLoad代码:
dict["Name"] = "Andreas"
hobbies.append("Football", "Programming")
dict["Hobbies"] = hobbies
array.append(dict)
/// - 但是,我只能使用以下代码显示名称:
var name = array[0]["Name"] as! String
是的; 我知道这种方法还有其他选择,但这些值来自Firebase(子路径) - 但我只需找到一种方法在字典数组中显示数组。
提前致谢。
如果你知道"Hobbies"
是一个有效的键,它的字典值是一个String
数组,那么你可以直接访问该数组中的第一项:
let hobby = (array[0]["Hobbies"] as! [String])[0]
但如果"Hobbies"
不是有效键或者值不是[String]
则会崩溃。
访问阵列的更安全的方法是:
if let hobbies = array[0]["Hobbies"] as? [String] {
print(hobbies[0])
}
如果使用模型类/结构体,则事情变得更容易
struct Person {
let name: String
var hobbies: [String]
}
var persons = [String:Person]()
let andreas = Person(name: "Andreas", hobbies: ["Football", "Programming"])
persons[andreas.name] = Andreas
let aPerson = persons["Andreas"]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.