在我的xcode项目中,我有2个视图控制器:A和B,它们都连接到同一个firebase引用nod,并且监听相同的数据。
我的问题是,例如:如果我在这两个视图控制器之间往返7次(或者在A和B视图控制器之间往返多次),一旦我点击按钮执行动作,触发firebase oberserver,viewcontroller A被触发7次,因为我添加了
打印(“触发动作”)
在viewcontroller A上,此行在调试器中打印7次。我一直想弄清楚为什么计数被保存了7次?我试图使用Firebase提供的文件删除firebse观察者,但没有运气,也许是来自这些视图控制器之间来回穿梭的问题。这些viewcontroller从未被删除,但我从来没有想过我需要删除viewcontroller!我试着在这里找到任何讨论并谷歌,我没有运气。
我尝试做的就是检测firebase数据库中的数据更改,如果数据库中发生了某些变化,则按钮功能会发生变化并执行某些不同的功能。一切正常,直到我发现这个循环问题。有人遇到过同样的问题吗?