NSURLRequest缓存策略枚举

wig*_*ing 1 enums caching objective-c nsurlrequest

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

NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:1 timeoutInterval:5];
Run Code Online (Sandbox Code Playgroud)

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

enum
{
   NSURLRequestUseProtocolCachePolicy = 0,
   NSURLRequestReloadIgnoringLocalCacheData = 1,
   NSURLRequestReloadIgnoringLocalAndRemoteCacheData =4,
   NSURLRequestReloadIgnoringCacheData = NSURLRequestReloadIgnoringLocalCacheData,
   NSURLRequestReturnCacheDataElseLoad = 2,
   NSURLRequestReturnCacheDataDontLoad = 3,
   NSURLRequestReloadRevalidatingCacheData = 5
};
typedef NSUInteger NSURLRequestCachePolicy;
Run Code Online (Sandbox Code Playgroud)

那么宣告什么是正确的方法cachePolicyNSURLRequest什么?

我应该把它定义为:

NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:1 timeoutInterval:5];
Run Code Online (Sandbox Code Playgroud)

或者我应该将其定义为:

NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:5];
Run Code Online (Sandbox Code Playgroud)

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

Mic*_*ann 8

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