[SwiftUI](iOS15復習) AsyncImageの特徴から利用シーンを考えてみる
アプリで、サポートOSが15になっている昨今、iOS15回りで、利用できるようになった機能についてフォーカスしてみる
今回は、AsyncImageを利用機会について取り上げてみよう。
AsyncImageの使い方は、CodeCandyさんの記事がわかりやすいです。
AsyncImageの下記の[特徴]から[利用シーン]が想定されるのではないでしょうか
[特徴]
・URLから画像の取得から、PlaceHolderの設定、画像の表示のアニメーション制御ができます。
・ドキュメントの記載や他サイトの記事をみているとキャッシュ機構がないようです。
[利用シーン]
iOS15をMinimum TargetOSとした場合のアプリは画像表示での利用は、
1)キャッシュ不要
AsyncImageを利用する
※キャッシュ機構が不要な箇所は、AsyncImageを利用して、実装の簡素化ができる
2)キャッシュが必要
2-1) 案件でライブラリの利用ができる場合は、「Kingfisher」、「Nuke」あたりを利用するのが良いさそう
理由:メモリキャッシュ、ディスクキャッシュ、プリフェッチ機能があるため
参考: Rettyさんの記事
https://engineer.retty.me/entry/2022/08/18/161226
※KingFisherはWebPもサポートしているようです。
https://github.com/onevcat/Kingfisher/wiki/FAQ#can-i-load-some-special-image-format-like-webp
2-2) ライブラリが利用が難しい案件のプロジェクトについて
下記のようなURLSessionのコードで記載