swift 3 Kingfisherの使い方、ここで見てみましょう

1396 ワード

swiftでは、ネットピクチャーライブラリでkingfisherとalamofireimageがよく使われています.個人的にはalamofireimageが少し大きいと思います.またkingfisherはSDWebimageに基づいています.oc回転swiftの話し方もよく知られています.オオカミonevcatはキャッシュ処理をしてくれています.非常に実用的で、swift 3にはKingfisherライブラリ1をインストールする方法が2つあります.pod podfileで入力
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
target 'projectName' do
use_frameworks!
pod 'Kingfisher', '~> 3.2’
end

2、carthage cartfileで入力
github "onevcat/Kingfisher" ~> 3.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")
        imagev.kf.setImage(with: ImageResource.init(downloadURL: url!))

kingfisherの中には、ImageResourceがResourceプロトコルに従っています.ここでは、このように初期化する必要があります.多くの学生が、なぜ私がResourceの後ろにinitを書いてもヒントがないのかと思っています.理由はここにあります.彼はプロトコルにすぎず、タイプではありません.書きたいならヒントがあり、自分で方法をカプセル化することができ、カプセル化方法は書かず、簡単にパラメータを入力して処理するだけです.(時間の都合でkingfisherのキャッシュについては間に合わなかったので、後で補足します☺☺)