2017-05-14 7 views
0

データベースの一部を同期したままにしたいのですが、特定のビューが読み込まれたときに実際のコールバックが必要です。私が呼んでいるビューをロードする場合:すべてのオブザーバーを削除すると、keeySynced()も無効になります。

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

私が知っている:そして

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

は、ビューの終了は、私が呼んでいる私のアプリの他の場所で

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

を呼び出したいときkeepSynced()はrefにオブザーバを追加するだけなので、removeAllObservers()と呼ぶと、keepSynced(true)がキャンセルされますか?

答えて

1

いいえ、keepSynced(true)を呼び出すと、デバイス上の実際のデータがFirebaseサーバと同期して保持されます。

これは、最終的にその場所にリスナーを追加すると、デバイスがしばらくあなたのために同期を保っているため、非常に迅速にデータを取得できることを意味します。

同期を無効にする唯一の方法は、keepSynced(false)を呼び出すことです。

関連する問題