0

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

对于图像下载,我使用下面的代码...

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()

注意:我在按钮单击时播放多个图像,图像视图应该显示我们将从最后一次操作中获得的图像。

4

0 回答 0