Kingfisher 는 iOS 에서 Image 를 간편하게 관리하는 기능을 제공하는 라이브러리 입니다.
Swift 는
Alamofire, URLSession 등을 통한 네트워크 통신으로 Image 를 다운로드 한뒤 이를 다룰수 있습니다.
하지만 가져오고자 하는 Image Data 의 양이 방대 하거나 큰 Image Data 를 다뤄야 할때
App 성능 저하의 큰 요소가 될수 있습니다.
이러한 부분을 방지하기 위해선 여러 추가 작업과 비동기 작업이 필요합니다.
Kingfisher 는 개발자가 진행해야될 이런 부분들을 충족시켜 줍니다.
Kingfisher 는 Image 를 캐싱하여 재사용시 로딩 시간을 크게 줄여줍니다.
또한
guard let url = URL(string: imageUrl) else { return }
imageView.kf.setImage(with: url)
가장 기본적인 사용 방법입니다.
Kingfisher 는 url 에서 image 를 다운받고 메모리 와 디스크 캐시에 저장합니다.
첫번째 다운로드 가 이루어지면 그 이후에는 Image 를 요청하게 되면 저장된 캐시에 데이터를 가져오기 때문에 빠른 속도로 처리가 가능 합니다.