ios - iOS Swift 遍历 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 的对象并将用户与“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 {
}
推荐阅读
- django - 如何在 django 的一个视图中同时创建 2 个表单
- php - 查看来自外部端点/webhook 的 POST 输出
- javascript - 无法在 express js 应用程序中发布我的表单
- google-chrome-extension - 提交审核的 Chrome 扩展程序错误 - 如何停止?
- flask - 如何在烧瓶中访问视图功能之外的配置值
- node.js - 有没有办法在 sequelize 中创建关联
- javafx - 为什么我不能将 FXML 与控制器和控制器中的 fxid 一起使用?
- reactjs - 使用 NextJS 和 Material UI React 从 API 获取数据
- c++ - 从标准输入读取文件后读取用户输入
- javascript - NODE_TLS_REJECT_UNAUTHORIZED Heroku App 使整个应用程序不安全