Swift------kingfisher的使用

kingfisher是基于SDWebimage的,oc转swift的话语法也比较熟悉,大神onevcat已经为我们做好了缓存处理,非常实用,已经支持了swift3,而且我们可以根据SDWebimage的功能去推断Kingfisher的功能

  1. kingfisher 的基本使用
  1. kingfisher 的缓存处理
第一:kingfisher的基本使用
cell.leftImg.kf.setImage(with: <#T##Resource?#>)
需要注意的是,在这里,Resource只是一个协议,由cacheKey和downloadURL组成的,kingfisher默认是将url作为cacheKey,也可以自己定义一个cacheKey。例如:
   cell.leftImg.kf.setImage(with: URL.init(string: "图片地址"))

或者使用较复杂的
 cell.leftImg.kf.setImage(with: <#T##Resource?#>, placeholder: <#T##Image?#>, options: <#T##KingfisherOptionsInfo?#>, progressBlock: <#T##DownloadProgressBlock?##DownloadProgressBlock?##(Int64, Int64) -> ()#>, 
completionHandler: <#T##CompletionHandler?##CompletionHandler?##(Image?, NSError?, CacheType, URL?) -> ()#>)

第二:kingfisher的缓存处理

在kingfisher中,计算缓存的大小,代码如下

 KingfisherManager.shared.cache.calculateDiskCacheSize { (size) in
         print("当前的缓存的大小,这地方获取的是b,记得转化为M======\(size)")
        }

在kingfisher中,清理缓存非常简单,代码如下

let cache = KingfisherManager.shared.cache
        cache.clearDiskCache()//清除硬盘缓存
        cache.clearMemoryCache()//清理网络缓存
        cache.cleanExpiredDiskCache()//清理过期的,或者超过硬盘限制大小的

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,257评论 4 61
  • 1.价值结构与诉求——必须让顾客了解,公司希望帮顾客解决问题,不是只想推销产品。 最重要的问题是,公司的作为能不能...
    wangrad阅读 198评论 0 0
  • 五年过得很快。毕业,拍照,聚餐,唱K,结束,不再见。 高中就读于一所小县城,即使是一座小县城,大部分同学毕业后就再...
    Que_sera阅读 272评论 0 0