Мои данные извлекаются из JSON API, и данные будут меняться за день. В настоящее время я использую reloadIgnoringLocalCacheData
сейчас, который игнорирует данные кэша и всегда извлекает данные из исходного источника.
Мой вопрос заключается в том, можно ли сначала сравнить кэш с исходным, а если они не равны, то извлечь данные с сервера, в противном случае использовать данные кеша. или, может быть, установить время истечения для кэша, как это реализовать?
private var session: URLSession = {
let config = URLSessionConfiguration.default
config.urlCache = URLCache.shared
config.waitsForConnectivity = true
config.requestCachePolicy = .reloadIgnoringLocalCacheData
return URLSession(configuration: config, delegate: nil, delegateQueue: nil)
}()
public enum CachePolicy : UInt {
case useProtocolCachePolicy
case reloadIgnoringLocalCacheData
case reloadIgnoringLocalAndRemoteCacheData
public static var reloadIgnoringCacheData: NSURLRequest.CachePolicy { get }
case returnCacheDataElseLoad
case returnCacheDataDontLoad
case reloadRevalidatingCacheData
}