我正在创建一个网址请求,如下所示:
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;
那么为cachePolicy
声明NSURLRequest
的正确方法是什么?
我应该将其定义为:
NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:1 timeoutInterval:5];
或者我将它定义为:
NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:5];
两者似乎都有效但是一种方法比另一种更好?
答案 0 :(得分:8)
第二种方法更好,因为您可以稍后轻松查看您的代码(例如,在您上次查看它之后的几周)并说“啊,此请求将始终重新加载而忽略本地缓存”。否则,你将不得不做一些研究来弄清楚那些神秘的“1
”意味着什么。