我尝试在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
}
}
}
})
}
}
}
答案 0 :(得分:0)
您的变量pet.URLImagePet
是非可选的,因此if let
是多余的。您只需要let
这将纠正语法错误。
let imageDownloadURL = pet.URLImagePet
let imageStorageRef = Storage.storage().reference(forURL: imageDownloadURL)
etc...
不相关的样式点:尝试对变量使用小写驼峰命名。 urlImagePet
与URLImagePet
。大写使名称看起来像类名称,而不是类的实例。