NSURLRequestCachePolicy详解

源码:

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(未实现)

已有的缓存现需要从来源证实有效性,不然需要从原地址重新加载。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,833评论 1 32
  • AFHTTPRequestOperationManager 网络传输协议UDP、TCP、Http、Socket、X...
    Carden阅读 10,543评论 0 12
  • 郭相麟 人生路上 一段邂逅在交流中 拉开爱的序幕 心灵的碰撞 思想的互动 演绎着刻骨铭心的情意 或许有缘无份 或许...
    郭相麟阅读 1,313评论 0 0
  • 一九八四年 庄稼还没收割完女儿躺在我怀里 睡得那么甜今晚的露天电影 没时间去看妻子提醒我 修修缝纫机的踏板 明天我...
    随风老童阅读 3,514评论 0 1
  • 马克·李维的这本书,本来没有很大的期待,只是没想到挺令人惊喜的。 你知道黎明从那里开始吗?你知道第一个真正的人类是...
    当归姑娘2017阅读 2,732评论 0 1