源码:
typedef NS_ENUM(NSUInteger, NSURLRequestCachePolicy)
{
NSURLRequestUseProtocolCachePolicy = 0,
NSURLRequestReloadIgnoringLocalCacheData = 1,
NSURLRequestReloadIgnoringLocalAndRemoteCacheData = 4, // Unimplemented
NSURLRequestReloadIgnoringCacheData = NSURLRequestReloadIgnoringLocalCacheData,
NSURLRequestReturnCacheDataElseLoad = 2,
NSURLRequestReturnCacheDataDontLoad = 3,
NSURLRequestReloadRevalidatingCacheData = 5, // Unimplemented
};
NSURLRequestCachePolicy
NSURLRequestCachePolicy枚举定义了一些常量,这些常量被用来指定当系统处理网络请求时与缓存系统的交互类型。这些常量覆盖了很多需要做的交互,在确定是否已经存在缓存数据用于满足加载请求后做。
NSURLRequestUseProtocolCachePolicy
指定协议实现中定义的缓存逻辑(如果有的话)用于特定的URL加载请求。这是URL加载请求的默认策略。
NSURLRequestReloadIgnoringLocalCacheData
URL加载的数据应该从来源加载。不应该使用任何现有的本地缓存数据(不论其是否是新的或是有效的)来满足URL加载请求。
NSURLRequestReloadIgnoringLocalAndRemoteCacheData(未实现)
不使用本地缓存,且在协议允许的范围内也不使用任何代理以及中介的缓存。
NSURLRequestReloadIgnoringCacheData
NSURLRequestReloadIgnoringLocalCacheData
的旧名称。
NSURLRequestReturnCacheDataElseLoad
已有的缓存不管是否到期都应该被用来满足加载请求。如果依然没有缓存的数据,请求会从原地址加载。
NSURLRequestReturnCacheDataDontLoad
已有的缓存不管是否到期都应该被用来满足加载请求。如果依然没有缓存的数据,也不会从原地址尝试加载。这种情况一般用于“离线模式”。
NSURLRequestReloadRevalidatingCacheData(未实现)
已有的缓存现需要从来源证实有效性,不然需要从原地址重新加载。
网友评论