我是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
}
问题:
答案 0 :(得分:1)
试试这个:
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
}
}
答案 1 :(得分:0)
尝试以下代码
let imageURL = Constant.BaseAPI_URL + "/" + driver.driverProfile
Alamofire.request(imageURL).responseData(completionHandler: { response in
if let imageData = response.data
{
deiverProfileImageView.image = imageData
}
})
答案 2 :(得分:0)
试试这个:
让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'
运行pod install
现在导入SDWebImage
import SDWebImage
现在从网址设置图片
imageView.sd_setImage(with: URL(string: "http://www.domain/path/to/image.jpg"), placeholderImage: UIImage(named: "placeholder.png"))
它将显示占位符图像,但是当下载图像时,它将显示来自网址的图像。您的应用程序永远不会崩溃
这是SDWebImage的主要功能
UIImageView,UIButton,MKAnnotationView的类别添加Web图像和缓存管理
异步图片下载
具有自动缓存到期处理的异步内存+磁盘映像缓存
背景图片解压缩
保证不会多次下载相同的网址
保证不会一次又一次地重试虚假网址
保证主线程永远不会被阻止 表演!
使用GCD和ARC