我的数据是从 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
}