0

我在我的 iPhone 应用程序中进行了一些网络调用,我注意到它们的行为就像响应被缓存一样。例如,如果我按下一个按钮来下载大小不小的东西(因此在下载时会导致感知延迟),它在第一次时会按预期运行,并且需要一两秒钟。如果我重复这个过程,它几乎会立即完成。我还更新了一些它依赖于服务器端并从应用程序刷新的文件,并且没有出现更改。

我的网络代码非常简单,并且没有对缓存做任何事情。它本质上是一个方便的包装器[NSURLConnection sendAsynchronousRequest:...以及一些日志记录和逻辑,以确保系统网络活动指示器在请求未完成时显示。有关完整详细信息,请参见此处(GitHub 链接)。

我对缓存的猜测是对这种行为的有效猜测吗?如果是这样,它会在设备上发生吗?我可以禁用它吗?我希望我的数据在我想要的时候真正刷新。

4

1 回答 1

3

您是否正在设置缓存策略NSURLRequest

NSURLRequest *myRequest = [NSURLRequest requestWithURL:myURL cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData timeoutInterval:90];

查看NSURLRequest Docs并查看NSURLRequestCachePolicy可以使用的不同缓存策略的部分。

于 2013-01-18T23:33:53.477 回答