阿拉莫菲尔:图像下载请求问题



我是 Swift 的新手,我在项目中使用Alamofire框架,在发出下载图像请求时遇到以下问题,我使用以下代码:

let imageURL = Constant.BaseAPI_URL + "/" + driver.driverProfile
Alamofire.request(.GET, imageURL).response() {
(_, _, data, _) in
let image = UIImage(data: data! as! NSData)
deiverProfileImageView.image = image
}

问题:

单击此处查看图像描述

试试这个:

let imageURL = Constant.BaseAPI_URL + "/" + driver.driverProfile

Alamofire.download(imageURL).responseData { response in
if let data = response.result.value {
let image = UIImage(data: data)
deiverProfileImageView.image = image
}
}

尝试以下代码

let imageURL = Constant.BaseAPI_URL + "/" + driver.driverProfile
Alamofire.request(imageURL).responseData(completionHandler: { response in
if let imageData = response.data
{
deiverProfileImageView.image = imageData
}
})

试试这个:

let imageUrl = "www.your_url.com">

Alamofire.download(imageUrl).responseData {
response in
if let data = response.result.value {
let image = UIImage(data: data)
ProfileImage.image = image
}
}

据我说,最简单的方法是使用SDWebImage

将此添加到您的 pod 文件

pod 'SDWebImage', '~> 4.0'

运行容器安装

现在导入 SDWebImage

import SDWebImage

现在用于从网址设置图像

imageView.sd_setImage(with: URL(string: "http://www.domain/path/to/image.jpg"), placeholderImage: UIImage(named: "placeholder.png"))

它将显示占位符图像,但是当下载图像时,它将显示来自url的图像。您的应用程序永远不会崩溃

这是SDWebImage的主要功能

UIImageView,UIButton,MKAnnotationView添加Web图像和缓存管理的类别

异步图像下载器

具有自动缓存过期处理功能的异步内存 + 磁盘映像缓存

背景图像解压缩

保证同一 URL 不会被多次下载

保证虚假网址不会一次又一次地重试

保证主线程永远不会被阻塞 性能!

使用 GCD 和 ARC

了解更多 https://github.com/rs/SDWebImage

最新更新