1

我正在创建一个 url 请求,如下所示:

NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:1 timeoutInterval:5];

参考缓存策略的开发人员文档,我阅读了以下内容:

enum
{
   NSURLRequestUseProtocolCachePolicy = 0,
   NSURLRequestReloadIgnoringLocalCacheData = 1,
   NSURLRequestReloadIgnoringLocalAndRemoteCacheData =4,
   NSURLRequestReloadIgnoringCacheData = NSURLRequestReloadIgnoringLocalCacheData,
   NSURLRequestReturnCacheDataElseLoad = 2,
   NSURLRequestReturnCacheDataDontLoad = 3,
   NSURLRequestReloadRevalidatingCacheData = 5
};
typedef NSUInteger NSURLRequestCachePolicy;

那么声明cachePolicyfor 的正确方法是NSURLRequest什么?

我应该将其定义为:

NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:1 timeoutInterval:5];

或者我应该将其定义为:

NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:5];

两者似乎都有效,但一种方法比另一种更好吗?

4

1 回答 1

8

第二种方法更好,因为您可以稍后轻松查看您的代码(例如,在您上次查看它的几周后)并说“啊,此请求将始终重新加载而忽略本地缓存”。否则,您将不得不做一些研究来弄清楚那个神秘的“ 1”是什么意思。

于 2013-09-28T14:46:32.387 回答