处理Firebase childDeleted和childModified观察者Swift

文森佐

在我的应用中,我为设置了观察者childAddedchildDeletedchildModified在感兴趣的Firebase数据库节点上设置了观察者以对其进行跟踪并相应地修改我的CoreData设备数据库。我只是意识到,如果achildDeletedchildModified发生在设备不在线时,则当设备再次在线时不会收到这些事件的通知。因为这是正常的预期行为,所以我想到了一种解决方法:当我在Firebase节点上触发删除条目时,我将创建相应“已删除”节点的条目。因此,childAdded当设备重新联机并执行childDeleted观察者现在执行的逻辑时,将触发事件这样我就不会观察到任何childDeleted事件。所以我的问题是:我在滥用Firebase观察者吗?childDeleted设备恢复在线状态时仍应进行通信,还是这种情况实际上是应该工作的方式?在这种情况下,您实施了哪种解决方案?

弗兰克·范普菲伦

Firebase实时数据库将服务器上的数据状态与任何连接的客户端同步。每当客户端(重新)连接时,Firebase都会确保该客户端具有数据的当前状态。如您所知,Firebase显式同步状态更改。

如果要同步状态更改,则应将这些状态更改准确地存储在数据库中。因为那样,这些更改便成为Firebase同步的数据。

因此,您的解决方案很好,并且实际上是处理此要求的惯用方式。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

swift-无法识别.childchanged上的Firebase观察者

使用Firebase,Swift removeObserver(withHandle不会删除观察者

在Firebase中创建一个实时观察者,该观察者始终使用Swift更新更新

Swift:如果删除了孩子的观察者,则不会调用Firebase Auth观察者

注册观察者与设置处理程序

可观察或观察者中的错误处理?

Firebase 中的观察者未在 swift 应用程序中调用

我的 Firebase 观察者不会停止观察

在firebase中,如何删除所有观察者,而不是特定参考的观察者

佐贺观察者未收到或处理调度的动作

如何从观察者的处理程序中访问组件属性?

Swift Firebase - 如何向 viewDidLoad 添加观察者,在 viewDidDisappear 中将其删除,然后在 viewWillAppear 中再次读取?

在Firebase中更改值后删除观察者

如何在 firebase 观察者路径中使用通配符?

Firebase删除具有可变句柄的观察者?

处理删除/添加实时数据观察者以观察按钮单击

Angular Firebase 和可观察的错误处理

混合Swift属性观察者和继承

如何处理RxJava中观察者的onNext引发的异常?

Xamarin Forms - iOS 自定义渲染器 - 处理观察者

使用Firebase的Swift完成处理程序

调用完成处理程序 Firebase Swift

如何处理[NSDate]和Firebase

Firebase iOS 数据观察者未在 iPhone 上定期响应

在整个应用程序生命周期中的 Firebase 观察者

未与 Firebase 一起运行观察者单事件函数

使用Swift闭包和Firebase处理异步数据

Firebase 和 Swift:异步调用、完成处理程序

NSNotificationCenter:在Swift中删除观察者