どういうことか
APIを叩くとレスポンスでURLが返ってくる。
それを元に画像を表示したい。
今回はマジック・ザ・ギャザリングのAPIを使ってカード画像を表示しよう。
APIを叩く方法などは割愛。
Kingfisher
画像の変換にはライブラリのKingfisherを使う。
cocoaPodsでインストールする。
pod 'Kingfisher'
使い方はカンタン。
今回はcollectionViewに表示させることを想定している。
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: CardCollectionViewCell.reusableIdentifier, for: indexPath) as! CardCollectionViewCell
if let cardImage = cards?.cards[indexPath.row].imageUrl {
cell.imageView.kf.setImage(with: URL(string: cardImage))
}
return cell
}
ところがエラーが出て表示しない。
元の画像URLが https
ではなく http
であるため使うことができない。
httpが使えるようにする。
これで無事表示されました。
ちなみにこのカードは全カードを取得して1番上にあるカードで思い入れは特に無し。
好きなカードは走り回るスカージです。
おわり(´・ω・`)