Swift - Kingfisher

JSLee·2022년 6월 29일
0

Kingfisher 는 iOS 에서 Image 를 간편하게 관리하는 기능을 제공하는 라이브러리 입니다.

Swift 는
Alamofire, URLSession 등을 통한 네트워크 통신으로 Image 를 다운로드 한뒤 이를 다룰수 있습니다.

하지만 가져오고자 하는 Image Data 의 양이 방대 하거나 큰 Image Data 를 다뤄야 할때

App 성능 저하의 큰 요소가 될수 있습니다.

이러한 부분을 방지하기 위해선 여러 추가 작업과 비동기 작업이 필요합니다.

Kingfisher 는 개발자가 진행해야될 이런 부분들을 충족시켜 줍니다.

Kingfisher 는 Image 를 캐싱하여 재사용시 로딩 시간을 크게 줄여줍니다.

또한

  • 비동기
  • URLSession 기반
  • 메모리, 디스크를 위한 다중 계층 캐시 제공
  • GIF 형식 이미지 제공
  • 이미지 프로세서 & 필터 제공
  • NS 를 포함한 UIImageView, UIButton 에 대한 Extension 형식으로 제공

사용방법

guard let url = URL(string: imageUrl) else { return } 
imageView.kf.setImage(with: url)

가장 기본적인 사용 방법입니다.

Kingfisher 는 url 에서 image 를 다운받고 메모리 와 디스크 캐시에 저장합니다.
첫번째 다운로드 가 이루어지면 그 이후에는 Image 를 요청하게 되면 저장된 캐시에 데이터를 가져오기 때문에 빠른 속도로 처리가 가능 합니다.

profile
iOS/Android/FE/BE

0개의 댓글