Я пишу новый фрагмент кода, который позволяет пользователю загружать изображение в сообщение, которое будет сохранено в базе данных и хранилище Firebase. Затем он будет показан в UITableView на отдельном Viewcontroller. В части кода, где я хочу сохранить URL-адрес фотографии в моей базе данных, я получаю сообщение об ошибке «Переменная используется в пределах своего исходного значения». Я посмотрел на другие темы, освещающие эту проблему, и, следуя их советам, я получаю новый набор ошибок. Вот как выглядит мой код и где я получаю сообщение об ошибке. Если есть какие-либо предложения, которые были бы замечательно, спасибо! Вот код:
func postWithImageAndText() {
var imagesArray = [AnyObject]()
let postLength = textView.text.count
let numImages = imagesArray.count
let postRef = Database.database().reference().child("posts").childByAutoId()
let storageRef = Storage.storage().reference()
let uid = Auth.auth().currentUser
let pictureStorageRef = storageRef.child("users/profile/\(uid)/media")
let lowResImageData = (imagesArray[0] as! UIImage).jpegData(compressionQuality: 0.50)
if(postLength>0 && numImages>0)
{
let uploadTask = pictureStorageRef.putData(lowResImageData!,metadata: nil)
{metadata,error in
if (error == nil) {
let downloadUrl = storageRef.downloadURL { (url, error) in
guard let userProfile = UserService.currentUserProfile else { return }
let childUpdates = [
"author": [
"uid": userProfile.uid,
"username": userProfile.fullname,
"photoURL": userProfile.photoURL.absoluteString
],
"text": self.textView.text!,
"picture": downloadUrl!.absoluteString,
"timestamp": ["sv.":"timestamp"]
] as [String:Any]
}
}
}
}
}
`
Ошибка происходит в этой части: "picture": downloadUrl!.absoluteString,