我使用firestore来查询数据存储在字典中的文档。我希望能够遍历每个文档,按下IBAction UIButton,该函数也将增加for-in循环计数。
func queryMethod(){
let typeRef = Global.db.collection("userData")
let query = typeRef.whereField("type", isEqualTo: "Mentor")
query.getDocuments { querySnapshot, err in
if let err = err {
print("Error getting documents: (err)")
} else {
for document in querySnapshot!.documents {
print("(document.documentID) => (document.data())")
}
}
}
}
获取文档并将其存储到一个常量属性中。使用计数器索引变量作为下标来访问文档中的每个项,而不是使用for循环,因为您希望在单击按钮时控制访问每个文档。在你的IBAction on click中你可以像这样访问每个元素:
if let document = querySnapshot!.documents[index] {
print("(document.documentID) => (document.data())")
}
index += 1
然而,你要通过下标访问项目,只是确保处理数组越界的情况下,如果你的文档是一个空集合。您可以在IBAction中添加一个检查,以便您的索引小于querySnapshot!.documents
->执行操作
if index < querySnapshot?.documents.count {
// access it via subscript of index value
}