【发布时间】:2017-07-18 21:52:09
【问题描述】:
在我的 xcode 项目中,我有 2 个视图控制器:A 和 B,它们都连接到同一个 firebase 参考节点,并监听相同的数据。
我的问题是,例如:如果我在这两个视图控制器之间来回切换 7 次(或者与我在 A 和 B 视图控制器之间来回切换的次数一样多),一旦我单击一个按钮执行一个action,触发了一个firebase观察者,view controller A被触发了7次,因为我加了
print("action is triggered")
在视图控制器 A 中,此行在调试器中打印 7 次。我一直试图弄清楚为什么 7 次,计数保存在哪里?我尝试使用 Firebase 提供的文档删除 firebase 观察者,但没有运气,可能问题来自这些视图控制器之间来回穿梭。这些视图控制器从未被移除,但我从不记得我需要移除视图控制器!我试图在这里找到任何讨论并用谷歌搜索,但我没有运气。
我所做的只是检测firebase数据库中的数据变化,如果数据库中有变化,按钮功能发生变化并执行某些不同的功能。一切正常,直到我发现这个循环问题。有没有其他人遇到过同样的问题?
【问题讨论】:
-
您可能会在每次显示控制器时设置新的侦听器。你能展示你的代码吗?
标签: firebase swift3 uiviewcontroller triggers firebase-realtime-database