因此經過5個小時的堅持宣誓後,我終於設法將我的項目從Swift 2.2轉換爲Swift 3.這個東西的構建和一切都變得精明,只有一個小例外。Swift 3圖片下載不能正常工作
由於某種原因,我的圖像不像以前那樣是異步下載。
我已經錄製了一段視頻,向您展示了一些代碼示例。我正在嘗試AlamofireImage和僅僅是一個普通的Swift擴展,都給出了相同的行爲。正如你在視頻中看到的那樣,最初圖像根本無法加載(另外我注意到由於某種原因,默認的佔位符圖像最初沒有顯示)當我拉動以突然刷新視圖時,它們出現。
如果有人看到類似的東西,我將不勝感激一些幫助,如果可能的話。
視頻是here
代碼的例子是這樣的: 擴展功能
func downloadedFrom(url: URL, contentMode mode: UIViewContentMode = .scaleAspectFit) {
contentMode = mode
URLSession.shared.dataTask(with: url) { (data, response, error) in
guard
let httpURLResponse = response as? HTTPURLResponse, httpURLResponse.statusCode == 200,
let mimeType = response?.mimeType, mimeType.hasPrefix("image"),
let data = data, error == nil,
let image = UIImage(data: data)
else { return }
DispatchQueue.main.async() {() -> Void in
self.image = image
}
}.resume()
}
func downloadedFrom(link: String, contentMode mode: UIViewContentMode = .scaleAspectFit) {
guard let url = URL(string: link) else { return }
downloadedFrom(url: url, contentMode: mode)
}
也是我的一個小區使用AlamofireImage的只是爲了測試
if nc.returnCommentDetails().image != "" {
let url = URL(string: nc.returnCommentDetails().image!)
cell.imgProfile.af_setImage(withURL: url!)
cell.imgProfile.resizeForProfilePic()
}
我有同樣的問題。當我用cornerRadius註釋掉圖像時,圖像剛剛出現 – user3126427