Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift viewcontroller firebase数据库观察者重复调用_Firebase_Swift3_Uiviewcontroller_Triggers_Firebase Realtime Database - Fatal编程技术网

Swift viewcontroller firebase数据库观察者重复调用

Swift viewcontroller firebase数据库观察者重复调用,firebase,swift3,uiviewcontroller,triggers,firebase-realtime-database,Firebase,Swift3,Uiviewcontroller,Triggers,Firebase Realtime Database,在我的xcode项目中,我有两个视图控制器:A和B,它们都连接到同一个firebase引用节点,并侦听相同的数据 我的问题是,例如:如果我在这两个视图控制器之间来回7次(或在A和B视图控制器之间来回7次),一旦我单击按钮执行操作,就会触发firebase观察者,视图控制器A会触发7次,因为我添加了 print("action is triggered") 在视图控制器A中,此行在调试器中打印7次。我一直想弄明白为什么7次,计数保存在哪里?我尝试使用firebase提供的文档删除firebase

在我的xcode项目中,我有两个视图控制器:A和B,它们都连接到同一个firebase引用节点,并侦听相同的数据

我的问题是,例如:如果我在这两个视图控制器之间来回7次(或在A和B视图控制器之间来回7次),一旦我单击按钮执行操作,就会触发firebase观察者,视图控制器A会触发7次,因为我添加了

print("action is triggered")
在视图控制器A中,此行在调试器中打印7次。我一直想弄明白为什么7次,计数保存在哪里?我尝试使用firebase提供的文档删除firebase observer,但没有成功,可能是在这些视图控制器之间来回穿梭造成了问题。这些视图控制器从未被删除过,但我从未记得我需要删除视图控制器!我试图在这里找到任何讨论并用谷歌搜索,但我没有运气


我所要做的就是检测firebase数据库中的数据变化,如果数据库中有什么变化,按钮功能就会改变,并执行某些不同的功能。一切正常,直到我发现这个循环问题。还有其他人遇到过同样的问题吗?

我刚刚发现,要删除重复过程,我可以使用firebase文档提供的remove observer,重复问题得到解决,您的提示非常有效,我在谷歌上搜索了主题提示,并在堆栈流中找到了答案。谢谢

每次显示控制器时,您可能都在设置新的列表器。你能展示你的代码吗?