1 dictionary firebase swift google-cloud-firestore
我正在创建一个 Firebase 查询,该查询返回一组我要转换为地图的数据。然后,我尝试访问键“postScore”处的值,但收到错误“无法使用“String”类型的索引为“[String]”类型的值添加下标。我也尝试过使用“value(forKeyPath: )”但无济于事。
func getAccountScore(){
let postsRef = db.collection("posts")
let query = postsRef.whereField("UID", isEqualTo: Auth.auth().currentUser?.uid)
query.getDocuments(){ (querySnapshot, err) in
if let err = err {
print("Error getting documents: \(err)")
} else {
self.numberOfPosts = querySnapshot!.count
print("number of posts: \(self.numberOfPosts)")
for document in querySnapshot!.documents {
let dataDescription = document.data().map(String.init(describing:)).sorted(by: >)
print(dataDescription["postScore"])
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
document.data()
Dictionary
根据文档,返回类型是可选的,因此您应该得到postScore
如下所示的值,
let postScore = document.data()?["postScore"]
print(postScore)
Run Code Online (Sandbox Code Playgroud)
目前,您正在尝试将Array
of String
(您使用创建的.map{}
)视为字典来获取postScore
值,但编译器不允许将Array
其用作Dictionary
.
归档时间: |
|
查看次数: |
480 次 |
最近记录: |