我正在寻找一种从孩子那里读取数据的方法,并让它实时更新。
我看过一些代码示例,其中人们首先使用以下方式获取数据:
ref?.child("posts").child("somechild").observe(.value
然后有另一个功能来观察变化:
ref?.child("posts").child("somechild").observe(.childChanged
但是.value
中的.childChanged
和FIRDatabaseHandle
有什么区别?
现在我只使用.value
,我将首先获取数据,然后使用它来观察更改,所以我不需要.childChanged
,这让我想知道.childChanged
是什么用于。
感谢。
答案 0 :(得分:1)
倾听价值事件
要读取路径中的数据并侦听更改,请使用observeEventType:withBlock orobserveSingleEventOfType:FIRDatabaseReference的withBlock方法来观察FIRDataEventTypeValue事件。
事件类型典型用法 FIRDataEventTypeValue读取并侦听路径的整个内容的更改。 您可以使用FIRDataEventTypeValue事件来读取给定路径上的数据,因为它在事件发生时存在。连接侦听器时会触发此方法,每次数据(包括任何子节点)发生更改时,都会触发此方法。事件回调传递一个快照,其中包含该位置的所有数据,包括子数据。如果没有数据,则返回的快照值为nil。