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(@"请求网络数据");
        }
        
    }];
 

 

VSCode初级使用教程详细版 Visual Studio Code(简称VSCode)是一款轻量级但功能强大的代码编辑器,支持多种编程语言,具有丰富的扩展插件,并内置了Git版本控制。VSCode工具满足绝大多数工作场景,使用场景包括不限于大学生作业代码编写、读研期间实验脚本编写、工作中项目代码编写与协作、数学建模竞赛中代码编写等。本文将从VSCode的安装开始,逐步介绍其基本使用方法和一些高级功能,帮助读者快速上手。 阅读详情

相关推荐

导出库的版本_Windows下PaddleOCR在C++中的推理部署(CPU版本)CMake + VS2017

PaddleOCR是一个与OCR相关的开源项目,不仅支持超轻量级中文OCR预测模型,总模型仅8.6M(单模型支持中英文数字组合识别、竖排文本识别、长文本识别,其中检测模型DB(4.1M)+识别模型CRNN(4.5M)),而且提供多种文本检测训练算法(EAST、DB)和多种文本识别训练算法(Rosetta、CRNN、STAR-Net、RARE)。本文将教大家通过PaddleOCR(CPU版...

weixin_31304817的博客 1914

IOS开发 REST请求 ASIHTTPRequest用法

  ASIHTTPRequest类库简介和使用说明 官方网站: http://allseeing-i.com/ASIHTTPRequest/ 。可以从上面下载到最新源码,以及获取到相关的资料。 使用iOS SDK中的HTTP网络请求API,相当的复杂,调用很繁琐,ASIHTTPRequest就是一个对CFNetwork API进行了封装,并且使用起来非常简单的一套API,用Obj...

yihaoxue的博客 381

Proteus快速入门(最详细教程)

Proteus 是一款用于嵌入式单片机仿真的软件,用于在打PCB板之前对软件程序和硬件电路的正确性进行仿真验证。1.所以Proteus一般会和Keil软件进行联合仿真,在Proteus中绘制系统的电路图,在Keil软件中编写对应的程序后生成Hex文件。2.Proteus的仿真结果仅供参考,只能在一定程度上验证系统的可能性。实际实物系统还需要进行进一步的调试。以上即为本次分享的Proteus入门教程的全部内容,希望可以能够帮助到各位道友。

ediykk的博客 15万+

关于AFNetworking设置Content-Type,请求头

服务器那边不知道怎么调,自己对于服务器不懂,给我的要求是在请求(POST)时,content-Type要求是html,然后参数(AFN中就是parameters)要求是json格式.... AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; manager.r

YZ_boy的博客 2万+

【实战解析】RTL8306MB交换芯片驱动开发中的RMII接口调试陷阱

本文通过一个RTL8306MB交换芯片驱动开发的实战案例,深入剖析了RMII接口调试中的经典陷阱。文章详细描述了因TX_EN与CRS_DV信号线交叉连接错误导致的“静默”故障,并分享了使用逻辑分析仪和示波器进行硬件排查的完整流程与核心技巧,为嵌入式网络驱动开发提供了宝贵的避坑指南。

weixin_29267307的博客 421

银河麒麟V10+QT6.0中文输入法环境搭建全攻略(附镜像加速技巧)

本文提供了在银河麒麟V10操作系统上为QT6.0搭建中文输入法环境的完整实战指南。文章详细介绍了从系统准备、镜像源优化、QT6安装器获取与加速安装,到编译Fcitx5输入法插件依赖库、深度配置环境变量与项目的全流程。重点分享了使用国内镜像源加速安装的技巧,解决了国产化开发中QT应用无法输入中文的常见难题,旨在帮助开发者快速构建稳定高效的开发环境。

weixin_29204749的博客 394

ASI框架设置Content-Type无效的问题

我服务器的某些接口只接收Content-Type 为“application/x-protobuf”的访问,我是用ASIFormDataRequest向服务器发送数据,通过addRequestHeader:value:方法设置Content-Type,结果总是不成功,在服务器端发现收到的Content-Type为“application/octet-stream”,后来经过多番尝试,通过使用set

fangzhangsc2006的专栏 2808

基于深度学习的CT图像肺结节分割与检测系统[完整代码数据分享]

基于深度学习的CT图像肺结节分割与检测系统[完整代码数据分享]

269

ASIHTTPRequest的使用—— ASIDownloadCache缓存

ASIDownloadCache 设置下载缓存 它对Get请求的响应数据进行缓存(被缓存的数据必需是成功的200请求): [ASIHTTPRequest setDefaultCache:[ASIDownloadCache sharedCache]]; 当设置缓存策略后,所有的请求都被自动的缓存起来。 另外,如果仅仅希望某次请求使用缓存操作,也可以这样使用: ASIHTTPRequest

番薯大佬的专栏 1016

教师模型与学生模型:知识蒸馏的核心概念

知识蒸馏,教师模型,学生模型,模型压缩,迁移学习,深度学习 1. 背景介绍 深度学习模型在图像识别、自然语言处理等领域取得了显著的成就,但其巨大的模型规模和高昂的计算成本限制了其在资源有限的设备上的部署。知识蒸馏(Knowledge Distillation)作为一种模型压缩技术,旨

AI架构师小马 2772

【Claude】Not logged in 错误:未登录状态的判断与 /login 认证路径 bug报错已解决

login 是首选修复:大多数 "Not logged in" 只需重新执行 /login检查系统时间:时间偏差是 Token 验证失败的常见原因避免密钥库被清理:将 Claude Code 添加到系统清理工具的白名单企业环境用 API Key:如果组织禁用 OAuth,使用 API Key 认证区分凭证类型:理解 Not logged in(无凭证)vs Invalid key(有但无效)

博客 7315

ASIHttpRequest 本地缓存

于是我从网上查阅了相关的资料,发现总体上说有两种方法。一种是自己写缓存的处理,一种是采用ASIHTTPRequest中的ASIDownloadCache。根据自己目前的水平,我选择后者,具体的实现方法:  1、设置全局的Cache     在AppDelegate.h中添加一个全局变量 @interface AppDelegate : UIResponder   {

努力~ 997

[Dify实战] 合同审阅助手:识别风险条款、生成修改建议-带绑定资源

摘要: Dify合同审阅助手通过AI技术提升合同审阅效率,快速识别风险条款并输出结构化修改建议。方案包括合同输入、关键条款识别、风险评级和报告生成流程,重点关注付款、责任限制等核心条款。采用分层风险分级(高/中/低)和"红线清单"机制,确保审阅标准化。实施建议先建立条款库和模板,通过样本测试优化模型,定期更新规则库。该方案可缩短审阅时间50%以上,提高风险识别准确率,最终实现法务经验的可复用沉淀。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 598

ASIHTTPRequest 缓存

大文件断点续传 0.94以后支持大文件的断点下载,只需要设置: [ request setAllowResumeForFileDownloads:YES ]; [ request setDownloadDestinationPath:downloadPath ]; 就可以了。 ASIHTTPRequest会自动保存访问过的URL信息,并备之后用。在以下几个场景非常有用: 1,...

移动编程 199

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

ASIHttprequest使用详解

大文件断点续传 0.94以后支持大文件的断点下载,只需要设置: [ request setAllowResumeForFileDownloads:YES ]; [ request setDownloadDestinationPath:downloadPath ]; 就可以了。 ASIHTTPRequest会自动保存访问过的URL信息,并备之后用。在以下几个场景非常有用: 1,当

SpeedBoy007的专栏 788

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

IOS开发网络加载图片缓存策略之──ASIDownloadCache缓存策略

在我们实际工程中,很多情况需要从网络上加载图片,然后将图片在imageview中显示出来,但每次都要从网络上请求,会严重影响用户体验,为了不是每次显示都需要从网上下载数据,希望将图片放到本地缓存,因此我们需要一个好的的缓存策略,今天我将我在项目工程中的实际经验分享给大家,我这里主要介绍一下强大的ASIHTTPRequest的缓存策略,以及使用方法:       下面是具体步骤:     一、

iOS技术分享与学习博客 436

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

[IOS]ASIHTTPRequest 缓存

ASIHTTPRequest 缓存 转入地址:http://www.07net01.com/program/159527.html 注明本文是根据官方文档进行的翻译,为加深自己理解所做。建议大家还是去看文档比较好,我也是因为时间太紧,所以想短时间内掌握而没有全面的阅读文档,导致今天被卡在一处良久。问了许多人,结果可能是使用版本不同得到许多不同答案,浪费了不少时间,所以建议大

Gamin 963

使用ASIHTTPRequest和ASIDownloadCache实现本地缓存

iPhone开发笔记(16)使用ASIHTTPRequest和ASIDownloadCache实现本地缓存 2012-09-18      0 个评论       作者:kbawyg 收藏    我要投稿     为了节约流量,同时也是为了更好的用户体验,目前很多应用都使用本地缓存机制,其中以网易新闻的缓存功能最为出色。我自己的应用也想加入本地缓存的功能,于是我从网上

iOS技术分享与学习博客 397

ASIHTTPRequest的使用——下载缓存

asi中下载缓存第一种方法 #import #import "ASIHTTPRequest.h" #import "ASIDownloadCache.h" @interface ViewController : UIViewController - (IBAction)click:(id)sender; @property (retain, nonatomic) IBOutl

番薯大佬的专栏 627

iOS缓存策略

需要注意的是,要做缓存的Http请求必须用get方法来获取数据。 1、设置全局的Cache     在AppDelegate.h中添加一个全局变量 @interface AppDelegate : UIResponder { ASIDownloadCache *myCache; } @property (strong, nonatomic) UIWindow *wi

iOS-董彬的专栏 1717

ios中UIWebview和asiHttprequest的用法

原文地址为:http://www.cnblogs.com/pengyingh/articles/2343062.htmlasiHttprequest的用法 它对Get请求的响应数据进行缓存(被缓存的数据必需是成功的200请求): ASIHTTPRequest会自动保存访问过的URL信息,并备之后用。在以下几个场景非常有用: 1,当没有网络连接的时候。 2,已下载的数据再次请求时,仅当...

weixin_34349320的博客 81

ASIDownloadCache 设置下载缓存

ASIDownloadCache 设置下载缓存 它对Get请求的响应数据进行缓存(被缓存的数据必需是成功的200请求): [ASIHTTPRequest setDefaultCache:[ASIDownloadCache sharedCache]];//类方法调用  所有的请求都会被自动缓存 当设置缓存策略后,所有的请求都被自动的缓存起来。

iOS技术分享与学习博客 367

ios中asihttprequest 下载缓存

asi中下载缓存第一种方法 #import <UIKit/UIKit.h> #import "ASIHTTPRequest.h" #import "ASIDownloadCache.h" @interface ViewController : UIViewController<ASIHTTPRequestDelegate> - (IBAction)click:...

weixin_34405332的博客 77

ASIHTTPRequest缓存

大文件断点续传 0.94以后支持大文件的断点下载,只需要设置: [ request setAllowResumeForFileDownloads:YES ]; [ request setDownloadDestinationPath:downloadPath ]; 就可以了。 ASIHTTPRequest会自动保存访问过的URL信息,并备之后用。在以下几个场景非常有用: 1,当没有网络

slinloss的专栏 426

ASIHTTPRequest和ASIDownloadCache实现本地缓存

为了节约流量,同时也是为了更好的用户体验,目前很多应用都使用本地缓存机制,其中以网易新闻的缓存功能最为出色。我自己的应用也想加入本地缓存的功能,于是我从网上查阅了相关的资料,发现总体上说有两种方法。一种是自己写缓存的处理,一种是采用ASIHTTPRequest中的ASIDownloadCache。根据我目前的技术水平和时间花费,我果断选择了后者,事实证明效果也很不错。下面说一下实现方法:

yuanya的专栏 583
上一篇: iOS6 新增特性
下一篇: Core Data数据持久化的使用
iteye_3205
博客等级 码龄8年 0粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值