我想使用简单的UIWebView构建原生iOS应用,但缓存通过网络的所有内容。
对于第一个镜头,我将包含一个按钮以使缓存无效,并在下次启动应用程序时,缓存将被重新填充。稍后我将包括对服务器的调用,然后告诉我使缓存无效并重新填充。
我有以下设置:
是否还有能够缓存AJAX请求的库?
答案 0 :(得分:0)
我认为你的问题是这些ajax调用正在获得一个带有http标头参数的响应,这些参数指定它不能被高速缓存。您可以创建一个覆盖这些参数的自定义NSUrlCache。可以在http://nshipster.com/nsurlcache/找到NSUrlCache的说明,并在http://github.com/evermeer/EVURLCache找到样本
答案 1 :(得分:0)
通过阅读此http://nshipster.com/nsurlcache/(感谢Edwin!)并通过WireShark挂钩到iOS模拟器上的应用程序,我遇到了以下情况:
Webview会自动自动缓存大部分数据。 我的初始请求之后是对服务器进行的 160 HTTP请求。
其他请求涉及25个HTTP请求。
所以在我的情况下,我不需要任何进一步的库来处理这个特定用法的缓存(几乎)所有内容,在某些时候删除所有缓存的内容并重新填充。