【问题标题】:cachedResponseForRequest won't be called after loading the same URL加载相同的 URL 后不会调用 cachedResponseForRequest
【发布时间】:2011-12-06 09:37:09
【问题描述】:

我继承了NSURLCache,并覆盖了cachedResponseForRequest,并将共享缓存更改为我自己的缓存对象,以拦截UIWebView发出的每个url请求。它在第一次完美运行时,当 URL 加载到 UIWebView 时,它会拦截所有内容(css、jpg 等)。但是当我尝试加载相同的 URL(例如 index.html)时,cachedResponseForRequest 方法将不会被调用。如果然后我尝试使用不同的 URL,它会再次完美运行。

我尝试将请求的 cachePolicy 修改为所有可能的值,但没有任何帮助。

【问题讨论】:

    标签: ios cocoa-touch caching uiwebview nsurlcache


    【解决方案1】:

    最后我找到了一个解决方案:在每次 URL 请求之后,您必须释放所有 UIWebView,并在下一次请求之前重新创建它们。重要提示:每次发布都应该在新分配之前发生。

    【讨论】:

    • 听起来不是销毁、重新创建、重新配置和重新定位所有 Web 视图的最佳解决方案。
    • 告诉苹果人,在 UIWebView 内创建缓存不是我的想法,由于这些原因无法明确清除。 PS。此解决方案仅适用于 IOS4
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-24
    • 2011-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多