Я пытаюсь загрузить изображение в firebase, но получаю сообщение об ошибке «Инициализатор условного связывания должен иметь необязательный тип, а не« String » - PullRequest
0 голосов
/ 22 сентября 2019

Я пытаюсь следить за видео на Youtube, пытаюсь загрузить изображение и показать его, но я получаю ошибку в одной строке, которую я не знаю, чтобы сделать.

var pet: Pet! {
        didSet{

            ImgPhotoPet.image = UIImage(named: "Drako")
            viewContenido.frame.size.height = 140.0
            ImgPhotoPet.frame.size.width = (viewContenido.frame.size.width * 0.32) / 100
            //ImgBackgroundPet.frame.size.width = (viewContenido.frame.size.width * 0.68) / 100
            CardInfo.layer.cornerRadius = 10.0
            ImgPhotoPet.layer.cornerRadius = 15.0
            ImgPhotoPet.layer.masksToBounds = true
            LblNamePet.text = pet.namePet
            LblAgePet.text = pet.birthDay


В этой строке у меня естьэта ошибка "Инициализатор для условного связывания должен иметь необязательный тип, а не 'String'"

if  let imageDownloadURL = pet.URLImagePet { 

            let imageStorageRef = Storage.storage().reference(forURL: imageDownloadURL)

            imageStorageRef.getData(maxSize: 2 * 1024 * 1024, completion: { [weak self] (data, error) in
                if let error = error {
                    print("Error \(error)")
                } else {
                   if let imageData = data{
                        DispatchQueue.main.sync {
                            let image = UIImage(data: imageData)
                            self?.ImgPhotoPet.image = image
                        }
                    }
                }
            })
        }
    }
}

1 Ответ

0 голосов
/ 22 сентября 2019

Ваша переменная pet.URLImagePet не является обязательной, поэтому if let является избыточной.Вам нужно только let

Это исправит синтаксическую ошибку.

let imageDownloadURL = pet.URLImagePet
let imageStorageRef = Storage.storage().reference(forURL: imageDownloadURL)
etc...

Несвязанная точка стиля : попробуйте использовать имена переменных в нижнем верблюде для переменных.urlImagePet против URLImagePet.В верхнем регистре имена выглядят как имена классов, а не как экземпляры класса.

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