官方源码是这样的

public enum CachePolicy : UInt {

        case useProtocolCachePolicy

        case reloadIgnoringLocalCacheData

        case reloadIgnoringLocalAndRemoteCacheData

        public static var reloadIgnoringCacheData: NSURLRequest.CachePolicy { get }

        case returnCacheDataElseLoad

        case returnCacheDataDontLoad

        case reloadRevalidatingCacheData
    }
  1. useProtocolCachePolicy 默认的cache policy,使用Protocol协议定义。
  2. reloadIgnoringLocalCacheData 忽略缓存直接从原始地址下载。
  3. returnCacheDataDontLoad 只使用cache数据,如果不存在cache,请求失败;用于没有建立网络连接离线模式
  4. returnCacheDataElseLoad 只有在cache中不存在data时才从原始地址下载。
  5. reloadIgnoringLocalAndRemoteCacheData 忽略本地和远程的缓存数据,直接从原始地址下载,与NSURLRequestReloadIgnoringCacheData类似。
  6. reloadRevalidatingCacheData :验证本地数据与远程数据是否相同,如果不同则下载远程数据,否则使用本地数据