- [NSURLCache cachedResponseForRequest:] 如何实际获取匹配的缓存?

How does - [NSURLCache cachedResponseForRequest:] actually get the matching cache?

-[NSURLCache cachedResponseForRequest:] 是如何工作的?它是否像键值对一样工作,其中键是 NSURLRequest 对象的内容(其中包括 NSURL 对象、缓存策略、超时间隔、HTTPBody、HTTPHeaders)?如果是这样,那么如果上述任何字段不同,那么我们将无法检索缓存。

例如,假设 NSURLRequest 除了 HTTPBody 之外的所有内容都保持不变,其中一个请求的正文为:

{
a = 1;
}

而另一个请求的正文为:

{
a = 2;
}

是否可以使用后一个请求获取前一个请求的缓存?

IIRC,仅考虑 URL。如果 header 或 body 数据差异对您很重要,您将需要实施自定义缓存。如果您决定走那条路,URL 加载系统编程指南应该会有一些帮助。