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 메서드로 추가해주면 된다. 파이어베이스에서 추가된 모습을 볼 수 있다.