如何读取在Swift中使用.childByAutoId()创建的Firebase数据库字典的值?

如何读取在Swift中使用.childByAutoId()创建的Firebase数据库字典的值?,swift,firebase-realtime-database,Swift,Firebase Realtime Database,我有一个存储在Firebase数据库中的字符串字典。可以在下面看到 如您所见,每个条目都是使用.childByAutoId()创建的,并且包含两个变量:text和tag。 我希望能够浏览所有条目,并将text的值与我应用程序中本地保存的变量进行比较。我尝试了很多方法,但找不到任何有效的解决方案。我应该如何进行 提前感谢您的帮助。您需要在特定参考处观察数据库,然后转换将发送给您的快照。快照表示给定路径上的数据库片段 let dbRef = Database.database().

我有一个存储在Firebase数据库中的字符串字典。可以在下面看到

如您所见,每个条目都是使用
.childByAutoId()
创建的,并且包含两个变量:
text
tag
。 我希望能够浏览所有条目,并将
text
的值与我应用程序中本地保存的变量进行比较。我尝试了很多方法,但找不到任何有效的解决方案。我应该如何进行


提前感谢您的帮助。

您需要在特定参考处观察数据库,然后转换将发送给您的快照。快照表示给定路径上的数据库片段

        let dbRef = Database.database().reference().child("messages")
        dbRef.observeSingleEvent(of: .value) { (snapshot) in
            for message in snapshot.children{
                let msg = (message as! DataSnapshot).value //message as snapshot
                //now you need to cast it to your structure([String:String])
                let projectObj = Message(snapshotChild: msg as! [String:String])
               //and do your comparison
            }
        }

显示您正在尝试的内容。我在
Message(snapshotChild:msg as![String:String])
中遇到错误,因为Xcode无法识别
Message()
方法(“使用未解析的标识符“Message”)。当然,Message只是一个包装类,您可以为您的案例编写它,以使代码更清晰。打印(msg)并查看控制台中的内容