如何更新用户资料

时间:2020-04-02 20:17:04

标签: ios swift firebase-realtime-database uiimage

当我的用户注册时,他们使用个人资料图片和直接保存到firebase数据库中的用户名。用户注册后,(个人资料图片和用户名)之类的用户信息未显示在更新后的用户个人资料屏幕上

 Auth.auth().addStateDidChangeListener { auth, user in
        if Auth.auth().currentUser != nil {
             guard  let uid = Auth.auth().currentUser?.uid else {
                 return }
        Database.database().reference().child("users").child(uid).observeSingleEvent(of: .value, with: { (snapshot) in
            guard let dict = snapshot.value as? [String: Any] else { return}
        let user = Auth.auth().currentUser
        if let user = user {
          let uid = user.displayName
            let Profilephoto = self.ProfileImage

          }
            self.DisplayName.text = user?.displayName
            func getData(from url: URL, completion: @escaping (Data?, URLResponse?, Error?) -> ()) {
               URLSession.shared.dataTask(with: url, completionHandler: completion).resume()
            }
            func downloadImage(from url: URL) {
               getData(from: url) {
                  data, response, error in
                  guard let data = data, error == nil else {
                     return
                  }
                  DispatchQueue.main.async() {
                    self.ProfileImage.image = UIImage(data: data)

   let DisplayName = user?.displayName
let changeRequest = Auth.auth().currentUser?.createProfileChangeRequest()
changeRequest?.displayName = DisplayName
changeRequest?.commitChanges { (error) in

}

1 个答案:

答案 0 :(得分:1)

好像self.ProfileImage就是UIImageView

尝试self.ProfileImage.image = UIImage(data: data)