设为首页 - 加入收藏 焦点技术网
热搜:java
当前位置:首页 >

NSURLRequestCachePolicy缓存

2016-04-01 09:29:55.0 java  
导读:本文ospost90s给大家介绍 NSURLRequestCachePolicy缓存。如下是苹果原有的枚举类型: typedef NS_ENUM(NSUInteger, NSURLRequestCache。。。

如下是苹果原有的枚举类型:

typedef NS_ENUM(NSUInteger, NSURLRequestCachePolicy)
{
    NSURLRequestUseProtocolCachePolicy = 0,

    NSURLRequestReloadIgnoringLocalCacheData = 1,
    NSURLRequestReloadIgnoringLocalAndRemoteCacheData = 4, // Unimplemented
    NSURLRequestReloadIgnoringCacheData = NSURLRequestReloadIgnoringLocalCacheData,

    NSURLRequestReturnCacheDataElseLoad = 2,
    NSURLRequestReturnCacheDataDontLoad = 3,

    NSURLRequestReloadRevalidatingCacheData = 5, // Unimplemented
};

下面我们一一解释他们的意义:

使用缓存的目的是为了使用的应用程序能更快速的响应用户输入,是程序高效的运行。有时候我们需要将远程web服务器获取的数据缓存起来,减少对同一个url多次请求。

内存缓存我们可以使用sdk中的NSURLCache类。NSURLRequest需要一个缓存参数来说明它请求的url何如缓存数据的,我们先看下它的CachePolicy类型。

1、NSURLRequestUseProtocolCachePolicy       NSURLRequest默认的cache policy,使用Protocol协议定义。

2、NSURLRequestReloadIgnoringCacheData    忽略缓存直接从原始地址下载。
3、NSURLRequestReturnCacheDataElseLoad    只有在cache中不存在data时才从原始地址下载。
4、NSURLRequestReturnCacheDataDontLoad  只使用cache数据,如果不存在cache,请求失败;用于没有建立网络连接离线模式;
5、NSURLRequestReloadIgnoringLocalAndRemoteCacheData    忽略本地和远程的缓存数据,直接从原始地址下载,与NSURLRequestReloadIgnoringCacheData类似。
6、NSURLRequestReloadRevalidatingCacheData      验证本地数据与远程数据是否相同,如果不同则下载远程数据,否则使用本地数据。



(编辑: ospost90s)

网友评论
相关文章