我有一个NSURLCache,它只记录cachedResponseForRequest和storeCachedResponse调用。
似乎UIWebView将为每个请求调用cachedResponseForRequest,但是只会为顶级页面调用storeCachedResponse,即不会为任何css / js / etc调用。在html中指定。
有什么理由可以(不)发生这种情况吗?
我在3.2 ipad模拟器和设备上观察到这一点。
答案 0 :(得分:3)
据我所知,WebKit正在使用私有机制来获取和存储缓存中的资产。这些是上述方法:
- (CFCachedURLResponse*)_nscfBridgeURLCacheCopyResponseForRequest:(CFURLRequest*)request;
- (void)_nscfBridgeURLCacheStoreCachedResponse:(CFCachedURLResponse*)cachedResponse forRequest:(CFURLRequest*)request;
请注意,他们正在使用Core Foundation对象。