Firestore结果是否存入字典或数组(Swift)?

Firestore结果是否存入字典或数组(Swift)?,swift,dictionary,switch-statement,google-cloud-firestore,Swift,Dictionary,Switch Statement,Google Cloud Firestore,我是Swift/应用程序开发新手,正在尝试学习如何使用Firestore数据库。我收到Firestore的回复,我可以打印结果。我不知道如何操作或使用我收到的数据。我怀疑这与数据类型有关,我认为Firestore将数据作为字典提供回来 我希望能够从Firestore获取结果,但将其转换为if/switch语句,并检查输入是否正确 let db1 = Firestore.firestore() db1.collection("firstDatabase").getDocuments

我是Swift/应用程序开发新手,正在尝试学习如何使用Firestore数据库。我收到Firestore的回复,我可以打印结果。我不知道如何操作或使用我收到的数据。我怀疑这与数据类型有关,我认为Firestore将数据作为字典提供回来

我希望能够从Firestore获取结果,但将其转换为if/switch语句,并检查输入是否正确

    let db1 = Firestore.firestore()
    db1.collection("firstDatabase").getDocuments() { (querySnapshot, err) in
        if let err = err {
            print("Error getting documents: \(err)")
        } else {
            for document in querySnapshot!.documents {
                print("\(document.documentID) => \(document.data())")
            }
        }
收到数据后,我将如何进行此操作?我会先分配给变量,然后在If/Switch语句中对其进行操作,以检查值是真还是假


我知道我错过了一些基本的东西,但是提前感谢你帮助一个新的程序员

只需使用您从Firestore接收到的数据创建一个字典,如下所示:

let dictionary = document.data() as [String : Any]
然后检查if或switch语句中的字典值:

if dictionary["foo"] {
    //Do something here
}
如果字典的值不是布尔值:

if dictionary["foo"] == "bar" {
    //Do something here
}

首先不要强制展开
querySnapshot!。文档
,使用
querySnapshot?。文档
文档的数据类型是什么?您可以使用
Codable
来使用它。参考: