NSURLRequestReturnCacheDataElseLoad如何在iOS中运行?

时间:2014-03-07 14:53:00

标签: ios iphone objective-c uiwebview nsurlrequest

在我的应用程序中,我正在使用Webview并加载我从网络服务器获取的数据。在这个工作正常,但问题是我使用NSURLRequest对象向服务器发送请求。我在下面写了代码

NSMutableURLRequest * webPageRequest=[NSMutableURLRequest requestWithURL:webPageUrl cachePolicy:2 timeoutInterval:60.0];

此处数据已成功缓存在内存中。但问题是,当我打开应用程序时,它始终提供旧数据。它没有向服务器发送新数据请求,甚至app数据也没有更新。我支持IOS6和& IOS7。

您也可以告诉我如何解决此问题。我可以知道数据在Cache内存中可用多长时间。 NSURLRequestReturnCacheDataElseLoad如何工作意味着该方法将在什么情况下执行。

1 个答案:

答案 0 :(得分:4)

你可以看到旧数据的问题是因为NSURLRequestReturnCacheDataElseLoad,看到这个(它来自NSHister:

  

NSURLRequestReturnCacheDataElseLoad:现有的缓存数据应该是   使用,无论其年龄或失效日期。如果没有   缓存中对应于请求的现有数据,数据是   从原始来源加载。

查看此link您应找到为您的目的使用正确政策的方法。