KingFisher 아주 짧게 알아보기

서버 연결을 통해 이미지를 받아오기 위해서
KingFisher 라이브러리를 알아봤습니다~

KingFisher 누구시죠?

Kingfisher github 보러가기 ☄️

KingFisher는 이미지 라이브러리 입니다.
서버에서 image가 날아왔을 때 kingfisher를 사용해서 해당 이미지를 다운로드하고 캐싱한 후 사용해요.
서버에서 날라온 이미지를 캐싱하는 친구로는 URLSession이라는 Apple자체에서 제공해주는 기능도 있습니다.
이 기능을 기반으로 더 발전한 라이브러리가 Kingfisher라고 할 수 있어요!


그럼 이 친구의 장점이 도대체 뭐길래?

  • 비동기 이미지 다운로드 및 캐싱.
  • URLSession기반 네트워킹 또는 로컬 제공 데이터 에서 이미지를 로드.
  • 유용한 이미지 프로세서 및 필터가 제공.
  • 메모리와 디스크를 위한 다중 계층 하이브리드 캐시.
  • 캐시 동작에 대한 세부 제어. 사용자 정의 가능한 만료 날짜 및 크기 제한.
  • 성능 향상을 위해 취소 가능한 다운로드 및 이전에 다운로드 한 콘텐츠 자동 재사용.
  • 필요에 따라 다운로더, 캐싱 시스템 및 이미지 프로세서를 별도로 사용.
  • 이미지를 미리 가져 와서 캐시에서 표시하여 앱을 향상.
  • UIImageView, NSImageView, NSButton, UIButton에 직접 URL에서 이미지를 설정.
  • 이미지 설정시 내장 된 전환 애니메이션.
  • 이미지를 로드하는 동안 사용할 placeholder 및 indicator 사용자 정의 가능.
  • 쉽게 확장 가능한 이미지 처리 및 이미지 형식.
  • 낮은 데이터 모드 지원.
  • SwiftUI 지원.

그렇다고 합니다.

사용법

사용하는 방법은 굉장히 어렵지 않아요. 쉬워요.

image 쇽가져와서 샥 set하면 완료합니다.

let string = "https://image.tmdb.org/t/p/w500/\(posterImage)"
let url = URL(string: string)!
posterImageView.kf.indicatorType = .activity
posterImageView.kf.setImage(with: url)

정말 간단하죠. 이해하기도 간단하시리라. 생각이 듭니다.

무려 indicatorType이라는 것도 옵션이지만 넣어줬는데 4줄밖에 안됩니다.

URLSession를 쓰는 것도 좋은 방법이지만, kingfisher도 짧고 굵게 쓰기 좋습니다👍

좋은 웹페이지 즐겨찾기