![](https://products-qa.fileformat.com/ko/image/swift/kingfisher/header-image.png)
Kingfisher
이미지 다운로드 및 캐시를 위한 무료 Swift 라이브러리
소프트웨어 개발자가 웹 앱 내에서 원격 이미지로 작업할 수 있게 해주는 오픈소스 Swift API입니다. 이미지를 다운로드 및 캐시하고 이미지 프로세서 및 필터를 적용할 수 있습니다.
Kingfisher는 Swift 코드를 사용하여 여러 이미지 파일 형식으로 작업하기 위한 완전한 기능을 제공하는 경량 순수 Swift 구현입니다. 이 라이브러리는 개발자가 이미지를 원격으로 쉽게 처리할 수 있는 응용 프로그램을 만드는 데 도움이 됩니다. 라이브러리는 자체 애플리케이션 내에서 이미지를 비동기적으로 다운로드하고 캐시합니다. 라이브러리는 앱의 성능을 크게 향상시키는 다운로드한 이미지에 대한 다중 레이어 캐시를 지원합니다. 즉, 이미지가 메모리와 디스크에 캐시되므로 다시 다운로드할 필요가 없습니다.
라이브러리는 처리하기가 매우 쉽고 캐시 관리를 위한 기능을 제공합니다. 사용자는 캐시의 크기와 기간을 쉽게 설정할 수 있습니다. 또한 사용자가 라이브러리가 너무 많은 리소스를 사용하지 않도록 방지하는 자동 캐시 정리 기능을 제공합니다. 작업 취소를 위한 또 다른 훌륭한 기능이 포함되어 있습니다. 사용자는 더 이상 필요하지 않은 다운로드 또는 이미지 검색 프로세스를 쉽게 취소할 수 있습니다.
Kingfisher 라이브러리를 통해 개발자는 필요에 따라 이미지 다운로드 및 이미지 캐싱 구성 요소를 별도로 사용할 수 있습니다. Swift 코드를 사용하여 필요에 따라 자체 캐시를 만들 수도 있습니다. 불필요한 디스크 작업을 방지하여 디스크 캐시 성능을 향상시킵니다. 라이브러리는 오픈 소스이며 MIT 라이선스에 따라 사용할 수 있습니다.
Kingfisher 시작하기
다음 명령을 사용하여 최신 소스 복제
Install Kingfisher via GitHub.
GitHub를 통해 Kingfisher를 설치합니다.
$ git submodule add https://github.com/onevcat/Kingfisher.git
Swift를 사용하여 이미지 다운로드 및 사용
오픈 소스 Nuke API는 Swift 앱 내에서 이미지를 다운로드하고 사용하기 위한 체계적이고 효과적인 방법을 제공합니다. 이미지를 가져오려면 필요한 이미지의 URL을 전달한 다음 resume 메소드를 호출해야 합니다. 요청된 이미지를 백그라운드에서 다운로드하고 완료되면 응답 클로저를 알립니다.
Swift API를 사용하여 이미지 예열
예열은 사용자가 이미지나 기타 데이터를 사용하기 전에 미리 다운로드할 수 있는 매우 유용한 기능입니다. 앱에서 다운로드하여 애플리케이션의 네트워크 캐시에 저장할 수 있습니다. 나중에 이미지를 봐야 할 때 요청에 대한 응답은 네트워크 대신 캐시에서 반환됩니다. 오픈 소스 API Nuke에는 Swift 코드를 사용하여 이미지를 예열하는 것으로 알려진 흥미로운 기능에 대한 지원이 포함되어 있습니다. 예열은 사용자의 데이터를 차지할 수 있고 CPU와 메모리에 추가적인 부담을 줄 수 있음을 기억하십시오. 이러한 부담을 줄이기 위해 디스크 캐시만 프리페칭 대상으로 선택할 수 있습니다.
Swift를 통해 이미지 로드 및 캐시
이미지 캐싱은 애플리케이션 성능과 최종 사용자 경험을 향상시키는 매우 유용한 방법입니다. 오픈 소스 Nuke API를 사용하면 소프트웨어 앱에서 다운로드한 이미지를 자동으로 캐시할 수 있습니다. Nuke는 두 개의 기본 제공 캐싱 레이어에 의존합니다. 첫 번째는 표시할 준비가 된 처리된 이미지를 저장하는 데 사용됩니다. LRU 알고리즘을 사용합니다. 가장 최근에 사용된 항목이 스윕 중에 먼저 제거됩니다. 두 번째nd는 HTTP 디스크 캐시를 사용하여 처리되지 않은 이미지 데이터를 저장합니다. 캐시에 요청한 이미지가 있는지 확인하는 것도 가능합니다.