我希望能够监听 Firebase 数据库中任何子项所做的任何更改。我执行以下操作(在 viewDidLoad 中),它向我发送整个数据库,而不是仅向我发送已更改的子节点。
var ref : FIRDatabaseReference!
self.ref.observe(.childChanged, with: {(snapshot) in
print(snapshot)
})
积极的是,每次更改数据库值时都会调用它。但不利的是,它不是只发送受影响的节点,而是返回所有具有更新节点的节点,这不是我想要的。 我是在调用正确的监听器还是这是意外行为?
最佳答案
这是预期的行为:如果您在特定节点上注册一个值观察器,则只要有更改,该节点的值就会触发该 block 。
如果您想了解 JSON 树中较低级别的更改,您应该在树中的该级别添加观察者。
关于ios - Firebase 在 FIRDataEventTypeChildChanged 上发送整个数据库而不是更改的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41078596/