URLCache
将URL请求映射到缓存的响应对象的对象。
class URLCache : NSObject
总览
本URLCache类实现对URL负载请求的响应缓存,通过映射NSURLRequest对象的对象。它提供了内存中和磁盘上缓存的组合,并允许您操纵内存和磁盘上部分的大小。您还可以控制持久存储缓存数据的路径。CachedURLResponse
注意,在iOS中,当系统磁盘空间不足时(仅在您的应用未运行时),才可以清除磁盘缓存。
线程安全
在iOS 8和更高版本以及macOS 10.10和更高版本中,URLCache线程安全。
尽管URLCache可以同时从多个执行上下文中安全地调用实例方法,但是请注意,尝试读取或写入同一请求的响应时,方法会像一样, 并且具有不可避免的竞争条件。cachedResponse(for:)storeCachedResponse(_:for:)的子类URLCache必须以这种线程安全的方式实现重写的方法。
子类
但是当你有特定的需求,你可以继承它。例如,出于安全性或其他原因,您可能要筛选要缓存的响应,或者重新实现存储机制。
当覆盖此类的方法时,请注意,带有task参数的方法比不带参数的方法更受系统青睐。因此,在子类化时,您应覆盖基于任务的方法,如下所示:
在缓存中存储响应-替代基于任务的请求或替代基于任务的任务。storeCachedResponse(:for:)storeCachedResponse(:for:)
从缓存获取响应-替代或替代。getCachedResponse(for:completionHandler:)cachedResponse(for:)
删除缓存的响应-替代基于任务的请求或替代基于任务的任务。removeCachedResponse(for:)removeCachedResponse(for:)
加入我们一起学习SwiftUI
QQ:3365059189
SwiftUI技术交流QQ群:518696470
教程网站:www.swiftuigit.com