【发布时间】:2020-05-06 13:44:12
【问题描述】:
下面来自Apple documentation 的示例显示了如何为UrlSession 手动创建CachedURLResponse。
其中一个参数是storagePolicy(在示例中设置为.allowedInMemoryOnly)。
如果将此类参数设置为.allowed(而不是.allowedInMemoryOnly,则缓存应存储到硬盘。这是否意味着它会在应用启动之间保持不变?
func urlSession(_ session: URLSession, dataTask: URLSessionDataTask,
willCacheResponse proposedResponse: CachedURLResponse,
completionHandler: @escaping (CachedURLResponse?) -> Void) {
if proposedResponse.response.url?.scheme == "https" {
let updatedResponse = CachedURLResponse(response: proposedResponse.response,
data: proposedResponse.data,
userInfo: proposedResponse.userInfo,
storagePolicy: .allowedInMemoryOnly)
completionHandler(updatedResponse)
} else {
completionHandler(proposedResponse)
}
}
谢谢
【问题讨论】: