Как добавить URL изображения в базу данных firebase, когда словарь базы данных находится в другом контроллере представления - PullRequest
2 голосов
/ 07 июля 2019

У меня есть контроллер представления (UserProfilePage.swift), где мне нужно добавить изображение профиля и добавить URL в базу данных. Но словарь, который добавляет значения в базу данных, находится в другом контроллере представления (SignUpScreen.swift). Вот код, куда я добавляю изображение в UserProfilePage.swift:

extension UserProfilePage: UIImagePickerControllerDelegate, UINavigationControllerDelegate {

    func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
        // To choose the edited image
        if let selectedImage = info[UIImagePickerController.InfoKey.editedImage] as? UIImage {

            databaseUserProfileImage = selectedImage
            userProfileImage.image = selectedImage

            // Upload image to firebase
            guard let imageData = selectedImage.jpegData(compressionQuality: 0.4) else {
                return
            }

            let storageRef = Storage.storage().reference(forURL: "gs://smallworld-89f21.appspot.com")


        } else if let selectedImage = info[UIImagePickerController.InfoKey.originalImage] as? UIImage {
            userProfileImage.image = selectedImage
        }
        // To dismiss the picker after selecting the image
        picker.dismiss(animated: true, completion: nil)
    }

}

Вот код, в котором я создаю словарь в SignUpScreen.swift:

let values = ["Email": email, "Username": username, "Country": country, "UserID": userID, "ProfilePictureURL": ""]

Как вы можете видеть в коде, у меня есть ключ для URL изображения. Как я могу обновить словарь, когда я загружаю изображение из другого контроллера представления? Любая помощь приветствуется. Спасибо!

1 Ответ

1 голос
/ 07 июля 2019

Сделать переменную экземпляра

var values = [String:Any]()

тогда делай

values["ProfilePictureURL"] =  // someValue

КСТАТИ info дает UIImage экземпляр, а не URL, тогда вы должны преобразовать в данные и загрузить

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...