Ios 如何在swift中更改数据(Firebase)时接收/更新数据

Ios 如何在swift中更改数据(Firebase)时接收/更新数据,ios,firebase,swift3,firebase-realtime-database,Ios,Firebase,Swift3,Firebase Realtime Database,我在firebase上存储了一些数据,当有人添加到我的数据时,我希望通过我的应用程序接收和更新我的数据。我看了一下谷歌文档,它说的是这样的 databaseRef.child("Leaderboard").queryOrderedByKey().observe(.childChanged, with: { snapshot in let value = snapshot.value as? NSDictionary // put data into variables le

我在firebase上存储了一些数据,当有人添加到我的数据时,我希望通过我的应用程序接收和更新我的数据。我看了一下谷歌文档,它说的是这样的

 databaseRef.child("Leaderboard").queryOrderedByKey().observe(.childChanged, with: {
        snapshot in 

let value = snapshot.value as? NSDictionary
// put data into variables
let playerName = value?["playerName"] as! String?


 }

但由于某种原因,它返回nil,我知道我的层次结构是正确的。为什么返回零?

返回零的确切含义是什么?另外,可能会发布一些您的数据库结构,以便我们验证它是否正确。当我打印
value?[“playerName”]
时,它返回nil。当您打印快照时会发生什么。value?它可以打印所有内容,我的代码中还有一个值[“playerScore”],它可以打印这两个项目。我们可以看到打印的输出(snapshot.value)吗?
let playerName: String = value!["playerName"] as? String