美文网首页从无到有的swift
Swift------kingfisher的使用

Swift------kingfisher的使用

作者: 乡水情缘 | 来源:发表于2017-05-20 11:31 被阅读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()//清理过期的,或者超过硬盘限制大小的
    
    

    相关文章

      网友评论

      • zdl:swift4.0 还不行是吧 我看导入进来报错
        乡水情缘:@z你用的是cocoapod导入的吗?

      本文标题:Swift------kingfisher的使用

      本文链接:https://www.haomeiwen.com/subject/lptpxxtx.html