2016-09-20 45 views
-1

當我嘗試從URL加載圖像時,我總是會得到一個錯誤,儘管我知道有一個URL包含有效的.jpg圖像。錯誤總是拋出從URL加載UIImage

mainImageView.image = try UIImage(data: Data(contentsOf: URL(fileURLWithPath: artworkURL))) 

我也試過these solution但如果我初始化UIImage線條仍然拋出一個錯誤。在artworkURL數據

例子:

http://is1.mzstatic.com/image/thumb/Music/v4/ef/97/95/ef979538-8321-151a-dceb-9b0a7f7c7641/source/100x100bb.jpg

當前的解決方案並沒有解決我的問題。我也試過:

try UIImage(data: Data(contentsOf: URL(string: artworkURL)!)) 

try UIImage(data: Data(contentsOf: (URL : artworkURL))) 

,現在使用的是靜態URL(富勒代碼)調試

let artworkString = "http://is1.mzstatic.com/image/thumb/Music/v4/ef/97/95/ef979538-8321-151a-dceb-9b0a7f7c7641/source/100x100bb.jpg" // album.artworkURL[index.row] 
let url = URL(string: artworkString) 

do { 
    mainImageView.image = try UIImage(data: Data(contentsOf: url!)) 
} catch _ { 
    print("No album artwork!") 
} 

這最後一個輸出"No album artwork!"

+0

@EricAya我* *使用嘗試! –

+0

@MaxGoodridge然後它應該工作。看看[我的截圖](https://www.evernote.com/l/AOwJ4q4PUmlArK-NlffFMDt-DwjjnWho8Fs),使用完全相同的代碼。你的問題在別處,而不是在這裏。 – Moritz

+0

由於某些原因,我無法回答自己的問題,但[此](http://stackoverflow.com/a/31807139/4548304)就是答案!我不得不添加一個斷點(第一次)來查找錯誤。 –

回答

0

您可以通過用戶這個庫:

https://github.com/onevcat/Kingfisher

翠鳥是從網頁上下載並緩存圖像一個輕量級的,純斯威夫特庫。這個項目深受SDWebImage的歡迎。它爲您提供了在下一個應用中使用純Swift替代方案的機會。

let imagePath = URL(string: "url_of_your_image")  
imageView.kf_setImageWithURL(NSURL(string: imagePath)!, placeholderImage: UIImage(named: "placeholder")) 

,你還可以添加圖像佔位符。

相關問題