`
miss大为
  • 浏览: 80453 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ASIHTTPRequest缓存策略的设置

阅读更多

ASIHTTPRequest 是一款强大的网络请求框架,该框架自带了数据的缓存策略,下面来介绍该功能的使用方法。

 

1.创建缓存对象

            //创建缓存对象
            ASIDownloadCache *asiCache = [[ASIDownloadCache alloc] init];
            //设置缓存目录,这里设置沙盒目录下的Documents目录作为缓存目录
            NSString *document = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
            [asiCache setStoragePath:document];
            //设置缓存策略
            [asiCache setDefaultCachePolicy:ASIOnlyLoadIfNotCachedCachePolicy];
 

2.请求对象设置缓存

    //创建数据请求对象
    ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:urlstring]];
    /*
     *设置缓存策略
     *ASICacheForSessionDurationCacheStoragePolicy 程序下次启动会清除本地的缓存数据
     *ASICachePermanentlyCacheStoragePolicy 是持久缓存,程序下次启动,缓存仍然还在
     */
    request.cacheStoragePolicy = ASICachePermanentlyCacheStoragePolicy;
    [request setDownloadCache:[UserContext shareInstance].cache];
    //开始异步请求网络
    [request startAsynchronous];
 

 

3.数据请求完成后

    //网络数据加载完成后调用的block
    [request setCompletionBlock:^{
        NSString *responseString = request.responseString;
        //打印返回的数据
        NSLog(@"%@",responseString);
        
       //判断返回的数据是否来自本地缓存
        if (request.didUseCachedResponse) {
            NSLog(@"使用缓存数据");
        } else {
            NSLog(@"请求网络数据");
        }
        
    }];
 

 

1
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics