美文网首页
NSURLRequestCachePolicy详解

NSURLRequestCachePolicy详解

作者: 嘻嘻zhy | 来源:发表于2018-07-07 19:47 被阅读35次

    源码:

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

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

    相关文章

      网友评论

          本文标题:NSURLRequestCachePolicy详解

          本文链接:https://www.haomeiwen.com/subject/hkkftftx.html