ios - FIRDatabaseHandle 值或 childChanged

标签 ios swift firebase firebase-realtime-database

我正在寻找一种方法来读取 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/

相关文章:

ios - 启动时传递参数的 xcode 命令行测试

ios - 更改 UIBarButtonItem 标题时,过渡不稳定/闪烁

firebase - Firebase 服务器端 verifyIdToken() 在幕后做了什么?

java - 如何在AWS lambda中等待(Firebase)回调?

ios - 根据移动设备的高度调整图像大小

json - 将 JSON 导入 Firebase Firestore

iphone - 根据碰撞影响移动图像

ios - iPhone 在后台收集 CoreMotion 数据。 (超过10分钟)

ios - 在应用程序更新期间在哪里持久存储用户数据(iOS)?

swift - 如何使用 UserDefaults SwiftUI?