Как использовать URLCache в Swift?
Для использования URLCache в iOS-приложении выполните следующие шаги:
- Создайте экземпляр URLCache:
let cache = URLCache.shared
- Настройте поведение кэша:
let cacheSize = 100 * 1024 * 1024 // 100 MB cache size
let cacheExpireTimeInterval = 60 * 60 * 24 * 7 // 1 week cache expiration time
cache.memoryCapacity = cacheSize
cache.diskCapacity = cacheSize
cache.diskPath = "myCacheDirectory"
Это устанавливает размер кэша, максимальное время хранения ответов в кэше и каталог, в котором должны храниться кэшированные данные.
- Создайте объект URLRequest для вашего сетевого запроса:
let request = URLRequest(url: URL(string: "https://example.com/api/data")!)
- Используйте URLCache для загрузки ответа:
let task = URLSession.shared.dataTask(with: request) { (data, response, error) in
if let data = data, let response = response {
cache.storeCachedResponse(CachedURLResponse(response: response, data: data), for: request)
}
// Handle any errors or process the response data as needed
}
task.resume()
Этот код сначала проверяет, существуют ли данные ответа и объект ответа, а затем сохраняет ответ в URLCache с помощью метода storeCachedResponse(). Этот метод принимает объект CachedURLResponse в качестве аргумента, который включает как объект ответа, так и данные, полученные из сетевого запроса.
- Получите кэшированный ответ для запроса:
if let cachedResponse = cache.cachedResponse(for: request) {
// Use the cached response
}
Этот код получает кэшированный ответ для URLRequest, вызывая метод cachedResponse(for:) на экземпляре URLCache.
URLCache - это простой, но мощный механизм кэширования, предоставляемый iOS. Он может помочь улучшить производительность и скорость вашего приложения, уменьшая количество запросов, отправляемых на сервер.