Я запутался с Cache-Control
и CachePolicy
, установленными в URLRequest . Он не ведет себя так, как я ожидал.
Я хочу иметь возможность использовать для доступа к моим данным в течение 1 дня после того, как их извлекли хотя бы один раз. (Например, если я отключу Wi-Fi, данные все равно будут доступны)
Моя проблема возникает, когда я указываю Cache-Control
, AlamoFire не кэширует мои данные при удалении inte rnet. Но когда я не отправляю cache-control
, он работает как положено (возвращать данные, когда нет Wi-Fi), но я нигде не указал, что хочу сохранить его 1 день ...
let url: URL! = URL(string: baseUrl+requestPath)
var request = URLRequest(url: url)
request.httpMethod = requestMethod.rawValue
request.cachePolicy = .useProtocolCachePolicy
if let timoutInterval = timeoutInterval {
request.timeoutInterval = timoutInterval
}
if httpBody != nil {
request.httpBody = try! JSONSerialization.data(withJSONObject: httpBody ?? [:])
}
if let cacheControl = self.cacheControl {
request.addValue("max-age=60000", forHTTPHeaderField: "Cache-Control")
}
return request
}