У меня есть контроллер представления (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 изображения. Как я могу обновить словарь, когда я загружаю изображение из другого контроллера представления? Любая помощь приветствуется. Спасибо!