我正在寻找一种读取儿童数据并实时更新数据的方法。
我看过一些代码示例,人们首先使用以下代码获取数据:
ref?.child("posts").child("somechild").observe(.value
然后具有另一个监视更改的功能:
ref?.child("posts").child("somechild").observe(.childChanged
但是
.value
中的.childChanged
和FIRDatabaseHandle
有什么区别?现在,我只使用
.value
,我将首先获取数据,然后还要使用它监视更改,因此我不需要.childChanged
,这使我想知道.childChanged
用于什么用途。谢谢。
最佳答案
收听价值事件
要读取路径上的数据并侦听更改,请使用FIRDatabaseReference的watchEventType:withBlock或observeSingleEventOfType:withBlock方法来观察FIRDataEventTypeValue事件。
事件类型典型用法
FIRDataEventTypeValue读取和侦听路径全部内容的更改。
您可以使用FIRDataEventTypeValue事件读取给定路径上的数据,因为该数据在事件发生时就存在。附加了侦听器后,将触发此方法,并且每次数据(包括任何子级)发生更改时,都会触发此方法。将向事件回调传递快照,该快照包含该位置的所有数据,包括子数据。如果没有数据,则返回的快照值为nil。