import SwiftUI actor ImageCache { static let shared = ImageCache() private let cache: NSCache = { let cache = NSCache() cache.countLimit = 100 // Maximum number of images to cache return cache }() private init() {} func image(for url: URL) -> UIImage? { let key = url.absoluteString as NSString return cache.object(forKey: key) } func setImage(_ image: UIImage, for url: URL) { let key = url.absoluteString as NSString cache.setObject(image, forKey: key) } }