Je suis nouveau à iOS je veux télécharger l'image pour l'afficher est le code de travail, mais ici beaucoup de duplication de codeComment télécharger une photo depuis le web?
let url = URL(string: iteminfo.imageUrl!)
let urlRequest = URLRequest(url: url!)
let task = URLSession.shared.dataTask(with: urlRequest) { (data, response, error) in
if error != nil {
print(error)
}
if let data = data {
print(data)
self.imageViewItemPic.image = UIImage(data: data)
}
}
task.resume()
let url2 = URL(string: iteminfo.cookerProfilePicUrl!)
let urlRequest2 = URLRequest(url: url2!)
let task2 = URLSession.shared.dataTask(with: urlRequest2) { (data, response, error) in
if error != nil {
print(error)
}
if let data = data {
print(data)
self.imageViewCookerProfilePic.image = UIImage(data: data)
}
}
task2.resume()
Je veux réutiliser mon code, mais je malheureusement je ne peux pas atteindre mon but. il n'y a pas d'erreur et l'URL est correcte. à chaque fois va déclaration autre. il me manque quelque chose mais qu'est-ce que c'est?
if let image = downlaodImage(urlImage: iteminfo.imageUrl){
print("first \(image)")
imageViewItemPic.image = image
}else{
print("first wrong......")
}
if let image = downlaodImage(urlImage: iteminfo.cookerProfilePicUrl){
print("second \(image)")
imageViewCookerProfilePic.image = image
}
else{
print("second wrong......")
}
Voici ma méthode:
func downlaodImage(urlImage : String?) -> UIImage?{
var image : UIImage?
let url = URL(string: urlImage!)
let urlRequest = URLRequest(url: url!)
let task = URLSession.shared.dataTask(with: urlRequest) { (data, response, error) in
if let data = data {
// print(data)
image = UIImage(data: data)
}
}
task.resume()
return image
}
Note: Je ne suis pas sûr qu'il est mieux ou non. si ce n'est pas la meilleure pratique, n'hésitez pas à me guider.
pourriez-vous vérifier ma question s'il vous plaît .. J'ai mis à jour mon code –
avez-vous vérifié la bibliothèque [SDWebImage] (https://github.com/rs/SDWebImage)? – Adeel
non monsieur. n'est-il pas possible sans 3ème partie –