图片的异步请求方法探讨

我们在网上异步请求图片的时候,由于异步请求的特性,我们不能清楚的知道图片加载完成的具体时间,并且由于图片一般都比较消耗内存,所以,当我们刷新或者拖动页面的时候,对于已经加载过得图片就没有必要再次加载.

同时,我们还可以给图片加载一个缓冲的界面,当图片处于加载阶段时,不至于页面上什么都没有;

首先,我们创建一个图片管理的类,用于管理图片的加载

然后我们在.m中重写urlString的set方法,当我们在外界调用的时候就会进入该方法,实现我们想要的操作

由于iOS的沙盒机制,所以图片的缓存一般会存放在沙盒里的cach文件下.我们首先找到沙盒里面的cach文件夹路径,在找路径之前,我们先将我们获取的图片的名字改为我们获取图片的路径,就是将路径作为图片名,这样就能保证图片的名字不会重复

1,重写系统set方法

2,更改图片的名字,并且找到文件在沙盒中的路径

接下来就要用到我们的图片管理类NSFileManger,查询该路径下是否存在缓存图片,如果存在,那么我们就直接调用,不用再次加载图片.如果不存在,我们再对图片进行加载

首先判断图片是否讯在,如果存在我们就直接显示图片

如果不存在我们就要运用异步请求的block方法来获取图片,并且存放到沙盒中

这样图片的异步请求就完成了,但是还没有达到我们预期的效果,因为之前说的在图片还没有加载出来时的占位图片还没有设置.如果细心的话就会发现,.h中还有一个方法没有实现.而这个方法就是实现我们这一需求的方法

到这里,我们关于图片的设置就基本上完成了,现在只需要在需要的地方调用我们的方法就可以了.那么下面我们就一起来看看关于调用的方法

到此,我们的整个工作基本上算是完成了,当然大家可以根据自己的不同的需求来更改,这里只是提供一些简单地参考方法.




转载于:https://www.cnblogs.com/nsjelly/p/4314252.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值