23 lines
		
	
	
		
			795 B
		
	
	
	
		
			Swift
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			795 B
		
	
	
	
		
			Swift
		
	
	
	
	
	
import UIKit
 | 
						||
 | 
						||
// Менеджер для кеширования изображений в памяти
 | 
						||
class ImageCacheManager {
 | 
						||
    static let shared = ImageCacheManager()
 | 
						||
    
 | 
						||
    // NSCache будет хранить UIImage по ключу NSString (URL)
 | 
						||
    // Он автоматически удаляет объекты при нехватке памяти
 | 
						||
    private let cache = NSCache<NSString, UIImage>()
 | 
						||
    
 | 
						||
    private init() {}
 | 
						||
    
 | 
						||
    // Добавить изображение в кеш
 | 
						||
    func set(_ image: UIImage, forKey key: String) {
 | 
						||
        cache.setObject(image, forKey: key as NSString)
 | 
						||
    }
 | 
						||
    
 | 
						||
    // Получить изображение из кеша
 | 
						||
    func get(forKey key: String) -> UIImage? {
 | 
						||
        return cache.object(forKey: key as NSString)
 | 
						||
    }
 | 
						||
}
 |