我是新來的iOS我想下載的圖像顯示,它正在重複代碼如何從網上下載圖片?
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()
所以我想重用我的代碼,但我很遺憾我無法達到我的目標代碼,但這裏很多。有沒有錯誤和網址是正確的。每次都會去其他語句。我錯過了什麼,但那是什麼?
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
不,先生。是不是沒有第三方 –