从无到有的swift

Swift------kingfisher的使用

2017-05-20  本文已影响1010人  乡水情缘

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()//清理过期的,或者超过硬盘限制大小的

上一篇下一篇

猜你喜欢

热点阅读