Created
November 3, 2019 18:19
-
-
Save sgl0v/77bf7fc5b1d5364b5dd9a51e3560ed06 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| extension ImageCache { | |
| func image(for url: URL) -> UIImage? { | |
| lock.lock(); defer { lock.unlock() } | |
| // the best case scenario -> there is a decoded image | |
| if let decodedImage = decodedImageCache.object(forKey: url as AnyObject) as? UIImage { | |
| return decodedImage | |
| } | |
| // search for image data | |
| if let image = imageCache.object(forKey: url as AnyObject) as? UIImage { | |
| let decodedImage = image.decodedImage() | |
| decodedImageCache.setObject(image as AnyObject, forKey: url as AnyObject, cost: decodedImage.diskSize) | |
| return decodedImage | |
| } | |
| return nil | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment