iOS Swift中出现新请求时如何取消Kingfisher图像下载先前的请求

时间:2018-08-22 13:34:46

标签: ios swift image uiimageview kingfisher

如果发生任何新请求,如何取消上一个请求。我正在使用一个图像视图,其中将从两个不同的URL下载2张图像。如果我对第一张图像提出了要求,并立即提出第二张图像,那么首先要下载第一张图像,但是我希望第二张应该下载。

对于图像下载,我正在使用以下代码...

ImageCache.default.retrieveImage(forKey: cacheName, options: nil){
                    image, cacheType in
                    if image == nil {
                            var downloadedImage: UIImage?
                            ImageDownloader.default.downloadImage(with: imgURL, options: [], progressBlock: nil) {
                                (image, error, url, data) in
                                if let downloadedImg = image {
                                    downloadedImage = downloadedImg
                                    self.saveImageInCache(objImage: downloadedImg, cacheName: cacheName)
                                }
                            }
                        }
                    } else {
                        loaderVw.isHidden = true
                        self.image = image
                    }
                }

我使用了下面的代码,但是它不起作用。

kf.cancelDownloadTask()

注意:单击按钮时,我正在播放多个图像,“图像视图”应显示我们从上次操作中获得的图像。

0 个答案:

没有答案