FIRDatabaseHandle值或childChanged

时间:2017-04-18 00:39:10

标签: ios swift firebase firebase-realtime-database

我正在寻找一种从孩子那里读取数据的方法,并让它实时更新。

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

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

然后有另一个功能来观察变化:

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

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

现在我只使用.value,我将首先获取数据,然后使用它来观察更改,所以我不需要.childChanged,这让我想知道.childChanged是什么用于。

感谢。

1 个答案:

答案 0 :(得分:1)

倾听价值事件

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

事件类型典型用法 FIRDataEventTypeValue读取并侦听路径的整个内容的更改。 您可以使用FIRDataEventTypeValue事件来读取给定路径上的数据,因为它在事件发生时存在。连接侦听器时会触发此方法,每次数据(包括任何子节点)发生更改时,都会触发此方法。事件回调传递一个快照,其中包含该位置的所有数据,包括子数据。如果没有数据,则返回的快照值为nil。