Firebase에서 사용자 정보 가져오는 방법

작성일

// 사용자 정보 가져오기
func fetchUser() {
    // userSession에 로그인한 유저의 uid가 들어있다.
    guard let uid = userSession?.uid else { return }
        
    // 파이어베이스스토리지의 collection에 접근하여서 로그인한 유저의 uid로 도큐먼트를 얻는다
    Firestore.firestore().collection("users").document(uid).getDocument { snapshot, _ in
         guard let data = snapshot?.data() else { return }
         // 얻은 data로 Model로 만든 dictionary에 접근하여 user정보를 얻는다.
        let user = User(dictionary: data)
        print("DEBUG: User is \(user.username)")
    }
}

가져와서 사용하면 된다. 이렇게 가져오고 보통 init() 에 self.fetchUser() 를 작성해줘서 뷰를 생성할때 데이터를 넣어준다.