- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在寻找一种方法来读取 child 的数据并实时更新它。
我见过一些代码示例,其中人们首先使用以下方法获取数据:
ref?.child("posts").child("somechild").observe(.value
然后有另一个函数监视变化:
ref?.child("posts").child("somechild").observe(.childChanged
但是 FIRDatabaseHandle
中的 .value
和 .childChanged
有什么区别?
现在我只使用 .value
并且我会首先获取数据然后使用它观察变化,所以我不需要 .childChanged
这让我想知道 .childChanged
的用途。
谢谢。
最佳答案
监听值事件
要读取路径上的数据并监听变化,请使用 FIRDatabaseReference 的 observeEventType:withBlock 或 observeSingleEventOfType:withBlock 方法来观察 FIRDataEventTypeValue 事件。
事件类型典型用法FIRDataEventTypeValue 读取并监听对路径的全部内容的更改。您可以使用 FIRDataEventTypeValue 事件读取给定路径中的数据,因为它在事件发生时存在。当附加监听器时会触发一次此方法,每次数据(包括任何子项)更改时都会再次触发。向事件回调传递一个快照,其中包含该位置的所有数据,包括子数据。如果没有数据,则返回的快照值为nil。
关于ios - FIRDatabaseHandle 值或 childChanged,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43461762/
我正在寻找一种方法来读取 child 的数据并实时更新它。 我见过一些代码示例,其中人们首先使用以下方法获取数据: ref?.child("posts").child("somechild").obs
我是一名优秀的程序员,十分优秀!