0

在我的xcode項目中,我有2個視圖控制器:A和B,它們都連接到相同的firebase參考點,並偵聽相同的數據。Swift viewcontroller firebase數據庫觀察者重複調用

我的問題是,例如:如果我在這兩個視圖控制器之間來回切換7次(或者我在A和B視圖控制器之間來回切換的次數),一旦我點擊按鈕執行一個動作,一個火力觀察者被觸發,則觸發視圖控制器A 7次,因爲我在視圖控制器A加入

print("action is triggered") 

,並且這條線是打印在調試器的7倍。我一直試圖找出爲什麼7次,計數保存在哪裏?我試圖使用Firebase提供的文檔移除firebase觀察者,但沒有運氣,可能問題來自這些視圖控制器之間來回穿梭。這些視圖控制器從未被刪除,但我永遠不會記得我需要刪除視圖控制器!我嘗試在這裏找到任何討論並將其谷歌,我沒有運氣。

我試圖做的是檢測Firebase數據庫內部的數據更改,如果數據庫中發生了某些變化,按鈕功能發生變化並執行某些不同的功能。一切正常,直到我發現這個循環問題。有沒有其他人遇到同樣的問題?

+0

您可能會在每次顯示控制器時設置新的列表器。你能顯示你的代碼嗎? – VA79

回答

0

我剛剛發現刪除了重複的過程,我可以使用firebase文檔提供的remove observer,並且重複問題已解決,您的提示很有用,我使用主題提示並在堆棧流程中找到答案。謝謝