let task = NetworkImageLoader.shared.downloadAndCacheImage(withUrl: imageUrl) { (image, error) in
guard let image = image else {
print(error?.localizedDescription ?? "Error downloading image.")
return
}
print(image)
}
imageView.setImage(withUrl: imageUrl)
imageView.cancelImageDownload()
NetworkImageLoader.shared.prefetchImage(withUrl: imageUrl)