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