Swift・iOS

Swiftを中心に学んだことを記録に残すブログです。技術に関係ない記事もたまに書いています。

【Swift】KingfisherでURLの画像を表示/キャッシュ

■開発環境

Xcode 10.2

・Swift 5.0

・Kingfisher 4.10.1

 

■手順

1.Kingfisherをインストール

pod 'Kingfisher'

 

2.StoryboardでUIImageViewを配置

 

3.StoryboardのImageViewをViewControllerに関連づける

 

4.ViewControllerに以下実装

https://www.hfoasi8fje3.work/entry/2019/03/24/003421や、https://www.hfoasi8fje3.work/entry/2019/03/24/133155

のようにライブラリを使わずに実装するより簡潔に書けます。

import UIKit
import Kingfisher

class ViewController: UIViewController {
    
    @IBOutlet weak var imageView: UIImageView!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        let url = URL(string: "{画像URL}")!
        imageView.kf.setImage(with: url)
    }
}

  

https://www.hfoasi8fje3.work/entry/2019/03/25/000000で実装した、以下のようなキャッシュが使用可能か試し、使用不可能であればネットワークから取得というcachePolicyは、上記の実装でデフォルトで実行されるようです。

 var request = URLRequest(url: url)
 // ローカルキャッシュが使用可能か試し、使用不可能であればネットワークから取得
 request.cachePolicy = .returnCacheDataElseLoad

 

 ■参考リンク

https://github.com/onevcat/Kingfisher