我正在寻找一种读取儿童数据并实时更新数据的方法。

我看过一些代码示例,人们首先使用以下代码获取数据:

ref?.child("posts").child("somechild").observe(.value

然后具有另一个监视更改的功能:
ref?.child("posts").child("somechild").observe(.childChanged

但是.value中的.childChangedFIRDatabaseHandle有什么区别?

现在,我只使用.value,我将首先获取数据,然后还要使用它监视更改,因此我不需要.childChanged,这使我想知道.childChanged用于什么用途。

谢谢。

最佳答案

收听价值事件

要读取路径上的数据并侦听更改,请使用FIRDatabaseReference的watchEventType:withBlock或observeSingleEventOfType:withBlock方法来观察FIRDataEventTypeValue事件。

事件类型典型用法
FIRDataEventTypeValue读取和侦听路径全部内容的更改。
您可以使用FIRDataEventTypeValue事件读取给定路径上的数据,因为该数据在事件发生时就存在。附加了侦听器后,将触发此方法,并且每次数据(包括任何子级)发生更改时,都会触发此方法。将向事件回调传递快照,该快照包含该位置的所有数据,包括子数据。如果没有数据,则返回的快照值为nil。

08-19 07:25