[英]iOS Swift iterate over an Array of Dictionary Items from Firestore
我正在尝试遍历以下字典:
这是我的代码:
Global.sharedInstance.db.collection("usuarios").getDocuments { (snapshot, error) in
if error != nil {
print("error de lectura usuarios...")
} else {
if let snapshot = snapshot {
for document in snapshot.documents {
let data = document.data()
let txtIdentificador = data["identificador"] as? String ?? ""
let txtBio = data["bio"] as? String ?? ""
let txtNombre = data["nombre_usuario"] as? String ?? ""
let txtFotoPerfil = data["foto_perfil"] as? String ?? ""
var arrFotos = data["fotos"] as? [String: [String:String]]
}
}
}
}
我能够检索前几行,如 id、传记、名称等。但是当我尝试访问字典数组时,我不知道。
这是主要思想:我有一组用户,我用第一个循环“for document in documents...”对其进行迭代,然后每个用户都有一组照片。我想迭代这 3 张照片,并且在每次迭代中我都想检索字段,因此我可以创建一个名为 Image 的 object 并将用户与“hasUpload(Image)”相关联。
我想知道如何迭代 X 张照片并在每次迭代中检索字段。
像这样:
var arrFotos = data["fotos"] as? [String: [String:String]]
for foto in arrFotos {
for (key,value) in foto {
}
}
我收到错误消息:For-in 循环需要 '[String: [String: String]]?' 符合“顺序”; 你的意思是打开可选的?
可以在此处找到类似的 StackOverflow 案例,他们是这样解决的:
您可以这样做,其中 x 是索引,token 是元素:
for (x, token) in transcriptCandidate.enumerated() {
}
或者如果你不需要索引的话:
for token in transcriptCandidate {
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.