Я новичок прошивку я хочу скачать изображение, чтобы отобразить его рабочий код, но здесь много дублирования кодаКак скачать изображение из Интернета?
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()
Так что я хочу, чтобы повторно использовать мой код, но я, к сожалению, я не могу достичь своей цели. ошибок нет, а URL-адрес правильный. каждый раз идет другое утверждение. я что-то упускаю, но что это?
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......")
}
Вот мой метод:
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
}
Примечание: Я не уверен, что это лучший способ или нет. если это не лучшая практика, не стесняйтесь направлять меня.
. Можете ли вы проверить мой вопрос, пожалуйста. Я обновил свой код –
, вы проверили библиотеку [SDWebImage] (https://github.com/rs/SDWebImage)? – Adeel
нет сэр. не возможно без третьей стороны –