ios - 'QuerySnapshot' 类型的值没有成员 'data' 将出现错误
问题描述
将出现“QuerySnapshot”类型的值没有成员“数据”错误。
但是我遇到了麻烦,因为我不知道为什么。
如果你能给我一个教授,我会很高兴的。
private func getTextData(userID: Array<Any>, image: Array<Any>) {
for user in userID {
self.db.collection("users").document(self.fireAuthUID).addSnapshotListener { (snapshot3, error) in
if error != nil {
return
} else {
guard let data = snapshot3?.data() else { return }
self.teamIDFromFirebase = data["teamID"] as? String ?? ""
self.db.collection("diary").document(self.teamIDFromFirebase).collection("diaries").addSnapshotListener({ (query, err) in
if err != nil {
return
} else {
let doc = query?.data() ← Value of type 'QuerySnapshot' has no member 'data'
}
})
}
}
}
}
解决方案
QuerySnapshot 包含文档而不是此处记录的数据https://firebase.google.com/docs/reference/js/firebase.firestore.QuerySnapshot。
文档
非空 QuerySnapshot 的非空数组
中所有文档的数组
QuerySnapshot
。
要简单地从查询中获取文档,请使用query.docs
. 在你的情况下query?.docs
推荐阅读
- javascript - 表单验证不适用于 vanilla js
- r - 如何在 r 中写出从 1 到 n 的总和
- python - 从 cifar10.py 导入数据集时出错
- firefox - 如何在 webvtt 上着色提示?
- r - 替换R中的循环
- javascript - Vanilla Javascript - 如何在同一个按钮上使用 mouseup 和 mousedown 来更改和恢复 css 类值?
- python - 使用属性值对字典进行排序
- rest - REST API 格式
- vb.net - 如何使用 VB.NET 重置网络适配器数据计数器(发送/接收)?
- ios - SwiftUI:WebView 不加载特定页面