美文网首页
Swift 3 如何使用Kingfisher,来这里看

Swift 3 如何使用Kingfisher,来这里看

作者: keenteam | 来源:发表于2017-09-26 17:16 被阅读149次

    swift中,网络图片库比较常用的是kingfisher和alamofireimage,个人感觉alamofireimage有点大,另外kingfisher是基于SDWebimage的,oc转swift的话语法也比较熟悉,大神onevcat已经为我们做好了缓存处理,非常实用,已经支持了swift3

    有两种方法可以安装Kingfisher库

    1、用pod

    podfile里边键入

    platform :ios, "8.0"

    use_frameworks!

    target 'projectName' do

    pod 'Kingfisher', '~> 3.3.4’

    end

    2. Kingfisher最新的,没有了之前那个直接用url请求的方法,取代的是

    setImage(with: Resource?, placeholder: Image?, options: KingfisherOptionsInfo?, progressBlock: DownloadProgressBlock?, completionHandler: CompletionHandler?)

    需要注意的是,在这里,Resource只是一个协议,由cacheKey和downloadURL组成的,kingfisher默认是将url作为cacheKey,也可以自己定义一个cacheKey。

    来一个例子,来看看Resource这个参数怎么写

    let url = URL(string: "http://pic29.nipic.com/20130512/12428836_110546647149_2.jpg")

    imgView?.kf.setImage(with: url)

    imgView?.kf.setImage(with: url, placeholder: UIImage(named:"placeholderImage"), options: nil, progressBlock: nil, completionHandler: nil)

    kingfisher里边,是ImageResource遵循了Resource协议,这里,需要这样初始化,有很多同学想,为何我在Resource后边写init没有提示,原因就在这里,他只是一个协议,不是一个类型。

    如果想写出来就可以有提示,可以自己封装一个方法,封装方法就不写了,很简单的只是传入参数做一下处理。(由于时间原因,关于kingfisher的缓存这部分没来得及,以后补上☺☺)

    相关文章

      网友评论

          本文标题:Swift 3 如何使用Kingfisher,来这里看

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