YTKNetwork ResponseData Cache 分析

YTKBaseRequest:  封装所有的关于当前网络请求所需要的数据,如: 请求Path、请求方法、请求参数、是否加密、是否签名、请求回调Block ... 

YTKRequest: 封装所有关于缓存请求response data的代码

//YTKRequest缓存请求对象的 start方法

<p class="p1"><span class="s1">- (</span><span class="s2">void</span><span class="s1">)start {</span></p><p class="p1">    </p><p class="p1"><span style="white-space:pre">	</span>//1. 如果当前request对象,【设置了忽略缓存数据】,直接调用YTKBaseRequest的start方法,发起网络请求<span style="white-space:pre">	</span></p><p class="p2"><span class="s2"><span style="white-space:pre">	</span>if</span><span class="s3"> (</span><span class="s2">self</span><span class="s3">.</span><span class="s1">ignoreCache</span><span class="s3">) {</span></p><p class="p1"><span class="s1"><span style="white-space:pre">	</span>    <span style="white-space:pre">	</span>[</span><span class="s2">super</span><span class="s1"> </span><span class="s4">start</span><span class="s1">];</span></p><p class="p1"><span class="s1"><span style="white-space:pre">	</span>    <span style="white-space:pre">	</span></span><span class="s2">return</span><span class="s1">;</span></p><p class="p1"><span class="s1"><span style="white-space:pre">	</span>}</span></p><p class="p3"><span class="s1"></span>
</p><p class="p4"><span class="s1"><span style="white-space:pre">	</span>//2. 如果当前request对象,【没有设置缓存超时时间】,<span style="font-family: monospace; white-space: pre; background-color: rgb(240, 240, 240);">直接调用YTKBaseRequest的start方法,发起网络请求</span><span style="font-family: monospace; white-space: pre; background-color: rgb(240, 240, 240);">	</span></span></p><p class="p2"><span class="s2"><span style="white-space:pre">	</span>if</span><span class="s3"> ([</span><span class="s2">self</span><span class="s3"> </span><span class="s1">cacheTimeInSeconds</span><span class="s3">] < </span><span class="s5">0</span><span class="s3">) {</span></p><p class="p1"><span class="s1"><span style="white-space:pre">		</span>[</span><span class="s2">super</span><span class="s1"> </span><span class="s4">start</span><span class="s1">];</span></p><p class="p1"><span class="s1">        <span style="white-space:pre">	</span></span><span class="s2">return</span><span class="s1">;</span></p><p class="p1"><span class="s1"><span style="white-space:pre">	</span>}</span></p><p class="p3"><span class="s1"></span>
</p><p class="p4"><span class="s3">    <span style="white-space:pre">	</span></span><span class="s1">//3. 查看磁盘文件中保存的【当前请求response data数据文件】的 【缓存版本号】</span></p><p class="p1"><span class="s1">    <span style="white-space:pre">	</span></span><span class="s2">long</span><span class="s1"> </span><span class="s2">long</span><span class="s1"> cacheVersionFileContent = [</span><span class="s2">self</span><span class="s1"> </span><span class="s4">cacheVersionFileContent</span><span class="s1">];</span></p><p class="p1"><span style="white-space:pre">	</span>//注意:【缓存数据的版本号管理】:如果【磁盘文件保存的版本号】 与 【当前request对象指定的版本号】不一致,则执行网络请求获取新的response数据</p><p class="p1"><span class="s2"><span style="white-space:pre">	</span>if</span><span class="s1"> (cacheVersionFileContent != [</span><span class="s2">self</span><span class="s1"> </span><span class="s4">cacheVersion</span><spa
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值