2017-05-14 1 views
0

Ich möchte einen Teil meiner Datenbank synchronisiert halten, aber nur einen tatsächlichen Rückruf, wenn eine bestimmte Ansicht geladen wird. Wenn die Ansicht Lasten Ich rufe:Deaktiviert das Entfernen aller Beobachter auch keeysynced()

FIRDatabase.database().reference().child("data").observe(.childAdded... 

dann, wenn die Ansicht Ausfahrten möchte ich

FIRDatabase.database().reference().child("data").removeAllObservers() 

An anderer Stelle in meiner App nennen Ich rufe:

FIRDatabase.database().reference().child("data").keepSynced(true) 

Ich weiß, dass keepSynced() einfach einen Beobachter zum ref hinzufügt, also, wenn ich removeAllObservers() rufe annulliere es die keepSynced(true)?

Antwort

1

Nein, der Anruf keepSynced(true) bedeutet, dass die tatsächlichen Daten auf dem Gerät mit Firebase-Servern synchronisiert werden.

Dies bedeutet, dass Sie, wenn Sie schließlich einen Listener zu diesem Speicherort hinzufügen, die Daten sehr schnell abrufen können, da das Gerät sie für eine Weile für Sie synchronisiert hat.

Die einzige Möglichkeit, die Synchronisierung zu deaktivieren, besteht darin, anzurufen.

Verwandte Themen