Компилятор скажет вам, что не так.Вы используете guard let
для создания константы let downloadURL
.Если эта константа имеет значение, ее нельзя изменить.Затем вы пытаетесь изменить его значение.Это не разрешено
Ваш код вводит в заблуждение, потому что вы сначала присваиваете downloadURL
с защитным пропуском, а затем пытаетесь присвоить downloadURL
совершенно другое значение.(Во втором случае вы используете metadata.downloadURL
.
Зачем присваивать значение downloadURL
, а затем сразу же забыть это значение и заменить его другим значением?
Вместо этого вы можетенапишите код так:
storageRef.downloadURL { (url, error) in
//Use the name `inputURL` to indicate this is the URL passed to the closure
guard let inputURL = url else {
// Uh-oh, an error occurred!
return
}
// Metadata contains file metadata such as size, content type, and download URL
let downloadURL = metadata.downloadURL
}
}