因此经过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