У меня есть класс, который предоставляет некоторые конфигурации для URLCache
Я ищу способ очистить данные, хранящиеся в кэше, вручную, если данные не использовались в течение более длительного периода времени.
class DataCacher {
private var observer: NSObjectProtocol!
let defaultMaxMemoryLimit = 30
static var shared = DataCacher()
var sharedCache = URLCache()
init() {
didreceiveMemoryWarning()
URLCache.shared = sharedCache
}
init(maxMemoryLimit: Int) {
didreceiveMemoryWarning()
sharedCache = URLCache(
memoryCapacity: maxMemoryLimit*1024*1024,
diskCapacity: 0,
diskPath: nil
)
URLCache.shared = sharedCache
}
private func didreceiveMemoryWarning(){
observer = NotificationCenter.default.addObserver(forName: UIApplication.didReceiveMemoryWarningNotification, object: nil, queue: nil, using: {_ in
self.sharedCache.removeAllCachedResponses()
})}
}