「Nuke」とは?
iOSやmacOSなど、Appleのプラットフォーム向けの画像ロードライブラリです。
画像ロードライブラリの比較
iOS向けの画像ロードライブラリを比較しました。
SDWebImage | Kingfisher | Nuke | |
---|---|---|---|
最新バージョン | 5.10.4 | 6.2.1 | 9.4.0 |
最終リリース | 2021/02/02 | 2021/03/09 | 2021/03/27 |
スター数 | 23.5k | 18.2k | 5.8k |
言語 | Objective-C | Swift | Swift |
※2021/03/27現在
この比較のみだとライブラリの選定基準にならないかもしれません。
以下の記事が参考になると思います。
私は特に深い理由はなく、Nukeを使ってみたかったため選定しました。
環境
- OS:macOS Big Sur 11.1
- Xcode:12.4 (12D4e)
- Swift:5.3.2
- Nuke:9.4.0
セットアップ
インストール
私はXcodeGen + SwiftPMを使っているため、 project.yml
に以下を記述します。
project.yml
packages:
Nuke:
url: https://github.com/kean/Nuke
version: 9.4.0
他の方法は 公式ページ をご参照ください。
使い方
ライブラリをインポートし、ロードするのみです。
以下のような拡張メソッドを用意すると便利です。
UIImageView+URL.swift
import UIKit
import Nuke
extension UIImageView {
func loadImage(with urlString: String) {
guard let url = URL(string: urlString) else {
return
}
loadImage(with: url)
}
func loadImage(with url: URL) {
Nuke.loadImage(with: url, into: self)
}
}
おわりに
かんたんに画像をURLから取得して表示することができました!
詳細な使い方は公式ドキュメントをご参照ください。