Firebase에 데이터 추가하기

작성일

Firebase에 데이터 추가하기

예시 코드

  guard let profileImage = profileImage else {
    print("DEBUG: Please select a profile image..")
    return
  }
  guard let email = emailTextField.text else { return }
  guard let password = passwordTextField.text else { return }
  guard let fullname = fullnameTextField.text else { return }
  guard let username = usernameTextField.text else { return }
        
  // 파이어베이스에 회원가입
  Auth.auth().createUser(withEmail: email, password: password) { result, error in
      if let error = error {
          print("DEBUG: Error is \(error.localizedDescription)")
          return
      }
            
      // 사용자의 User UID
      guard let uid = result?.user.uid else { return }
      // 저장할 값을 딕셔너리형태로 만들어준다.
      let values = ["email": email, "username": username, "fullname": fullname]
      // 저장할 경로 Database.database().reference()까진 같고,
      // 그뒤 "users"란 키를 추가할건데 그걸 .child(uid)에 추가할 것이다.
      let ref = Database.database().reference().child("users").child(uid)
      // 추가하는 메서드 .updateChildValues이고, values을 넣어준다.
      ref.updateChildValues(values) { error, ref in
      print("DEBUG: Seuccessfully updated user information..")
      }
  }

주석을 잘 정리 해놨지만, 다시 한번 살펴본다면

Auth.auth().createUser

를 통해 받아온 result 값으로 uid를 가져온후,
저장할 값을

let values = ["email": email, "username": username, "fullname": fullname]

식으로 딕셔너리값으로 만든다음 경로를 지정해주고, updateChildValues 메서드로 추가해주면 된다. image 파이어베이스에서 추가된 모습을 볼 수 있다.