SDWebImage:异步缓存加载网络图片的最便捷方法

快速上手:

通过 CocoaPods 安装:

在需要使用 SDWebImage的地方引入头文件:

在 UITableView  中 使用 UIImageView+WebCache 扩展:

只需要引入 头文件 UIImageView+WebCache.h,并且在UITableViewDataSource代理方法中 tableView:cellForRowAtIndexPath: 调用 sd_setImageWithURL:placeholderImage:  方法即可.异步下载并缓存图片,你需要做的只要这么做.

 

使用 blocks:

使用blocks, 你可以处理图片下载中,下载失败,下载成功或下载完成相关的事件:

注意: 如果在完成前取消了请求,那么 成功或者失败的回调方法(block),都不会被执行.


 

使用 SDWebImageManager:

SDWebImageManager 是 UIImageView+WebCache 扩展的内部实现使用的类.它把异步下载器和图片缓存体系关联起来.你可以直接使用这个类来下载网络图片并缓存起来.

下面是一个关于如何使用 SDWebImageManager 的简单例子:

独立使用异步图片下载器:

独立使用异步图片缓存:

queryDiskCacheForKey: 会优先搜索内存缓存,内存缓存不存在时,会继续搜索磁盘缓存.如果只想搜索内存缓存中的数据,可以使用 imageFromMemoryCacheForKey: 方法.

可以使用storeImage:forKey: 方法把图片存到缓存里:

此方法默认会同时异步存到磁盘缓存一份,如果你只想使用内存缓存,可以使用storeImage:forKey:toDisk: 第三个参数传负数即可.

使用缓存key过滤器:

通常使用 URL 作为缓存key,但如果你不想使用,可以自定义缓存key过滤器,来指定以何种方式产生缓存key.这在URL是动态地址时,比如有一些权限控制的字符串,会很有用.

管理图片刷新:

开源地址:https://github.com/rs/SDWebImage

2 3 收藏

资源整理者简介:yilufeng0

简介还没来得及写 :) 个人主页 · 贡献了28个资源 · 1


直接登录

推荐关注

按分类快速查找

关于资源导航
  • 伯乐在线资源导航收录优秀的工具资源。内容覆盖开发、设计、产品和管理等IT互联网行业相关的领域。目前已经收录 1440 项工具资源。
    推送伯乐头条热点内容微信号:jobbole 分享干货的技术类微信号:iProgrammer