teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

脱字

2020/06/08 22:32

投稿

rainyeveryday
rainyeveryday

スコア22

answer CHANGED
@@ -1,6 +1,6 @@
1
1
  kyoyatdaさんがリッスンしているのは```Database.database().reference().child("users")```をであって、欲しい名前をリッスンしていません。欲しい名前の親のノードをリッスンしているということです。下記の様にすると上手くいくと思います。
2
2
  また、参照(reference)を定数に代入してしまうと、後にリッスンを止めるという作業(removeObserverで検索してみるといいと思います)の時にまた定数に代入しなくてはいけないため、グローバルに書くといいと思います。
3
- 加えて、ユーザーが複数いた場合の方法が下記の```useChildByAutoID()``` と```queryUserEmail()```です。複数いた場合に```setValue()```で書き込むと、そのノード全体が置き換えられてしまうため、```updateChildValues()```を使います。
3
+ kyoyatdaさんが仰っいる変数にいれるというのはユーザーが複数いた場合の場合のfor in文かと思われます。ユーザー複数いた場合が下記の```useChildByAutoID()```と```queryUserEmail()```です。複数いた場合に```setValue()```で書き込むと、そのノード全体が置き換えられてしまうため、```updateChildValues()```を使います。
4
4
 
5
5
  ```
6
6
  class ExampleViewController: UIViewController {