J'ai une URL et que vous souhaitez télécharger l'image via une fonction de retour, mais je ne peux pas obtenir à coopérer correctement, voici mon func:Téléchargement de UIImage via AlamofireImage?
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")
}
}
}
Je passe dans l'URL, et que vous souhaitez un UIImage retour de la réponse alamofire.
mais je reçois
valeur inattendue de retour non vide dans la fonction vide
pour la déclaration de retour.
Comment puis-je y parvenir correctement?
'return image' Cela ne fonctionnera pas, car l'appel est asynchrone. Utilisez une fermeture à la place. Il y a déjà beaucoup de questions, cherchez "Swift + Closure + Async". Pour le message d'erreur (qui devrait disparaître une fois que vous avez fait la chose de fermeture), c'est parce que vous avez dit "-> UIImage", mais dans le cas de l'autre de 'si let image' vous ne retournez rien. De plus, à la fin de la méthode, vous ne renvoyez rien. – Larme
L'exemple lié est pour URLSession mais c'est exactement la même idée. Ajoutez un rappel à la signature de votre wrapper de méthode, puis utilisez-la avec la valeur à extraire (String dans l'exemple, mais pourrait être n'importe quoi). – Moritz
@Moritz il demande clairement ** Téléchargement UIImage via AlamofireImage ** qui ne sera pas marqué en double avec https://stackoverflow.com/questions/31264172/how-can-i-get-the-data-from-nsurlsession-sharedsession -datataskwithrequest peut-être que c'est une copie mais cette question est différente avec votre question marquée! –