ios - ¿Descarga UIImage a través de AlamofireImage?
swift (1)
Esta pregunta ya tiene una respuesta aquí:
Tengo una URL y quiero descargar la imagen a través de una función de retorno, sin embargo, no puedo hacer que coopere correctamente, aquí está mi función:
func getTabImage(url: URL) -> UIImage {
Alamofire.request(url)
.responseImage { response in
if let image = response.result.value {
return image
} else {
print("Failed to get image")
}
}
}
Paso la URL y quiero que se devuelva un UIImage de la respuesta de alamofire.
Pero consigo
Valor de retorno no vacío inesperado en la función vacía
para la declaración de devolución.
¿Cómo puedo lograr esto correctamente?
Puede usar la siguiente función para descargar la imagen:
func getImage(_ url:String,handler: @escaping (UIImage?)->Void) {
print(url)
Alamofire.request(url, method: .get).responseImage { response in
if let data = response.result.value {
handler(data)
} else {
handler(nil)
}
}
}
Usos
getImage("http://") { (image) in
if image != nil {
print(image)
}
}
O
Si desea configurar la imagen en
UIImageView
use la extensión de
AlamofireImage
.
if let imageURL = URL(string: "http://"), let placeholder = UIImage(named: "default") {
imageView.af_setImage(withURL: imageURL, placeholderImage: placeholder) //set image automatically when download compelete.
}