разобрался, не обращай внимания ..

му я пытаюсь обновить изображение профиля своего пользователя, как только пользователь создал профиль. Это код.

Он сохраняет выбранное изображение в хранилище, но моя база данных остается прежней. Profileimageurl, не меняется вообще.

Как я могу установить его так, чтобы он работал?

Чего мне не хватает?

Также имеет отношение к тому, что изображение моего профиля в ячейке collectionView связано с чем-либо?

func didtapImage() {
    print("from userprofile controller")


    let imagePickerController = UIImagePickerController()
    imagePickerController.delegate = self
    imagePickerController.allowsEditing = true
    present(imagePickerController, animated: true) {

    }


}

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
    print("123")

    if let editedImage = info["UIImagePickerControllerEditedImage"] as? UIImage {
        print("what's going on here")

        let image = editedImage
         guard let uploadData = UIImageJPEGRepresentation(image, 0.3) else {return}
        let filename = NSUUID().uuidString
        let storageItem = Storage.storage().reference().child("profile_Image").child(filename)

        storageItem.putData(uploadData, metadata: nil) { (metadata, err) in
            if let err = err {
                print("failed to upload", err)
                return
            }
            storageItem.downloadURL(completion: { (downloadURL, err) in
                guard let profileImageUrl = downloadURL?.absoluteString else {return}
                print("successfully uploaded profile image:", profileImageUrl)
                guard let currentUser = Auth.auth().currentUser?.createProfileChangeRequest() else {return}

                let dictionaryValues = ["profileImageUrl": profileImageUrl]
                let values = [currentUser: dictionaryValues]

                currentUser.photoURL = URL(fileURLWithPath: profileImageUrl)
                currentUser.commitChanges(completion: { (err) in
                    if let err = err {
                        print("not updated error", err)
                        guard let uid = Auth.auth().currentUser?.uid else {return}
                        let ref = Database.database().reference().child("users").child(uid)
                        ref.setValue(values, withCompletionBlock: { (err, ref) in
                            print("changedImage")
                            if let err = err {
                                print("did not get image",err)
                            }
                            print("updated user's profile image")
                        })
                    }
                    print("updated user image", profileImageUrl)
                    self.collectionView?.reloadData()
                })
            })
        }




    } else if let originalImage = info["UIImagePickerControllerOriginalImage"] as? UIImage {

        let image = originalImage
       //same thing as above.
}

Ответы на вопрос(0)

Ваш ответ на вопрос