我需要SDWeb ImageManager的完成处理程序功能(将下载或缓存的图像设置为黑白),所以我使用它而不是sd_setimage.我的问题是我无法弄清楚如何使用SDWebImageManager下载或获取图像的缓存版本.每次
SDWebImageManager.shared().imageDownloader?.downloadImage(with:URL(string: imgURL), options: SDWebImageDownloaderOptions.useNSURLCache, progress: nil, completed: { (image, error, cacheType, url) in if image != nil { let beginImage = CIImage(image: image!) let blackNwhiteImg = beginImage?.applyingFilter("CIColorControls", withInputParameters: [kCIInputSaturationKey:0.0]) let newImage = UIImage(ciImage: blackNwhiteImg!) cell.button.setImage(newImage, for: .normal) } })从缓存中提取的更新答案:
SDWebImageManager.shared().loadImage(with: URL?, options: SDWebImageOptions, progress: { (Int, Int, URL?) in code }, completed: { (UIImage?, Data?, Error?, SDImageCacheType, Bool, URL?) in code })
为了便于参考,我将在此屏幕截图中显示XCode在输入功能时显示的注释:
此外,SDWebImageManager文件中包含的注释:
/** * Downloads the image at the given URL if not present in cache or return the cached version otherwise. * * @param url The URL to the image * @param options A mask to specify options to use for this request * @param progressBlock A block called while image is downloading * @note the progress block is executed on a background queue * @param completedBlock A block called when operation has been completed. * * This parameter is required. * * This block has no return value and takes the requested UIImage as first parameter and the NSData representation as second parameter. * In case of error the image parameter is nil and the third parameter may contain an NSError. * * The forth parameter is an `SDImageCacheType` enum indicating if the image was retrieved from the local cache * or from the memory cache or from the network. * * The fith parameter is set to NO when the SDWebImageProgressiveDownload option is used and the image is * downloading. This block is thus called repeatedly with a partial image. When image is fully downloaded, the * block is called a last time with the full image and the last parameter set to YES. * * The last parameter is the original image URL * * @return Returns an NSObject conforming to SDWebImageOperation. Should be an instance of SDWebImageDownloaderOperation