Firebaseは通常のSelectのように一度だけデータを取得することはもちろん、対象のパスのデータの追加や更新を監視(リッスン)し、自動的に同期を取ることができます。Firebaseのデータ構造はJsonツリー形式になっており、端末とサーバで常に同期されています。そのためリアルタイムでデータの更新を必要とするアプリケーションで強力な力を発揮します。
一度だけデータを取得
1 2 3 4 5 6 7 8 9 10 11 |
import FirebaseDatabase ... let ref = Database.database().reference().child("KEYNAME") ref.observeSingleEvent(of: .value, with: { (snapshot) in for item in (snapshot.children) { // 中身の取り出し } }) |
データの追加を監視
新規にノードが追加されたときに実行されるので、
リストの一覧を更新するときなどに便利
1 2 3 4 |
ref.observe(.childAdded, with: { (snapshot) -> Void in // 中身の取り出し // snapshotに追加されたデータが入っています }) |
データの更新を監視
1 2 3 |
ref.observe(.value, with: { snapshot in // 中身の取り出し }) |