Firebase iOS插槽未重新连接

Firebase iOS插槽未重新连接,ios,swift,firebase,firebase-realtime-database,Ios,Swift,Firebase,Firebase Realtime Database,我遇到了一个问题,我将随机停止接收我所有应用程序上的事件。我最终发现,这种情况发生在两种情况下。网络中断或应用程序被发送到后台。我尝试过使用Database.Database.goOnline()但没有效果。有没有其他方法可以恢复我已经注册的观察员 当我的程序启动时,它会调用一些实例,这些实例具有观察属于它们的数据的功能。然后,来自观察者的数据存储在实例中,如果视图当前存在,则更新视图。这样,数据将在后台更新,我可以在视图控制器之间移动,而无需加载时间。看起来这些观察家们好像是在超时或诸如此类的

我遇到了一个问题,我将随机停止接收我所有应用程序上的事件。我最终发现,这种情况发生在两种情况下。网络中断或应用程序被发送到后台。我尝试过使用
Database.Database.goOnline()
但没有效果。有没有其他方法可以恢复我已经注册的观察员

当我的程序启动时,它会调用一些实例,这些实例具有观察属于它们的数据的功能。然后,来自观察者的数据存储在实例中,如果视图当前存在,则更新视图。这样,数据将在后台更新,我可以在视图控制器之间移动,而无需加载时间。看起来这些观察家们好像是在超时或诸如此类的事情

class Order {
    static let instance: Order = Order()

    var orders: [DataSnapshot] = []

    func watchOrders() {
        let orderRef = database.child("orders/\(AppData.instance.currentStore!.key)")
        orderRef.observe(.value, with: { snapshot -> Void in
            self.orders.removeAll()
            let orders = snapshot.children
            while let order = orders.nextObject() as? DataSnapshot {
                self.orders.append(order)
            }


              self.updateOrderViews()
            })
    }

    func updateOrderViews() {
        if let tillView = AppViews.instance.tillView {
            tillView.tillTable.reloadData()
        }
        if let tillFunctionView = AppViews.instance.tillFunctionView {
            tillFunctionView.calcTill()
        }
        if let tillReconcileView = AppViews.instance.tillReconcileView {
            tillReconcileView.calcTill()
        }
        if let dispatchView = AppViews.instance.dispatchView {
            dispatchView.loadDispatch()
        }
        if let dispatchRecapView = AppViews.instance.dispatchRecapView {
            dispatchRecapView.getDispatchedOrders()
        }
        if let managerView = AppViews.instance.managerView {
            managerView.getReport()
        }
        if let searchView = AppViews.instance.searchView {
            searchView.filterOrders()
        }
    }

}

这不是标准行为;Firebase从网络中断中恢复。我们可以关闭wifi,然后再打开,FB继续运行。但是,如果看不到您的代码,就很难进行故障排除。请查看本指南,它不是标准行为;Firebase从网络中断中恢复。我们可以关闭wifi,然后再打开,FB继续运行。但是,如果看不到您的代码,就很难进行故障排除。请阅读本指南