![](https://products-qa.fileformat.com/es/image/swift/kingfisher/header-image.png)
Kingfisher
Biblioteca Swift gratuita para descargar y almacenar imágenes en caché
API Swift de código abierto que permite a los desarrolladores de software trabajar con imágenes remotas dentro de sus aplicaciones web. Permite descargar y almacenar imágenes en caché, aplicar procesadores de imágenes y filtros.
Kingfisher es una aplicación Swift pura ligera que proporcionó completa funcionalidad para trabajar con múltiples formatos de archivos de imagen utilizando el código Swift. La biblioteca ayuda a los desarrolladores a crear aplicaciones que puedan manejar remotamente imágenes con facilidad. La biblioteca descarga asincrónica y caché imágenes dentro de sus propias aplicaciones. La biblioteca soporta una caché de múltiples capas para las imágenes descargadas que mejora enormemente el rendimiento de las aplicaciones. Eso significa que las imágenes serán almacenadas en memoria, así como en disco, así que no hay necesidad de descargarlas de nuevo.
La biblioteca es muy fácil de manejar y proporciona una función para la gestión de caché. Los usuarios pueden establecer fácilmente el tamaño y la duración del caché. También proporcionará una función de limpieza automática de caché que ayuda a los usuarios a evitar que la biblioteca utilice demasiados recursos. Se incluye otra gran característica para la cancelación de tareas. Los usuarios pueden cancelar fácilmente el proceso de descarga o recuperación de imágenes si ya no lo necesitan.
La biblioteca Kingfisher facilita a los desarrolladores a utilizar los componentes de descarga de imágenes y almacenamiento en caché de imágenes por separado según sus necesidades. Incluso puedes crear tu propio caché según tus propias necesidades usando el código Swift. Mejora el rendimiento de la caché de disco evitando operaciones innecesarias de disco. La biblioteca es una fuente abierta y está disponible bajo la licencia IT.
Primeros pasos con Kingfisher
Clona las fuentes más recientes usando el siguiente comando
Instale Kingfisher a través de GitHub.
$ git submodule add https://github.com/onevcat/Kingfisher.git
Descargar Imágenes de caché a través de Swift Library
Es una tarea muy difícil descargar programáticamente una imagen y guardarla para cachear utilizando un URL. La fuente abierta de la biblioteca Swift Kingfisher facilita a los desarrolladores de software descargar y almacenar imágenes dentro de sus propias aplicaciones. La biblioteca admite imágenes en caché tanto en memoria como en disco. Por defecto, la cantidad de AM que se utilizará ni siquiera es limitada y los usuarios pueden fijar el valor.
Descargar Imágenes de caché a través de Swift Library
let urls = ["https://example.com/image1.jpg", "https://example.com/image2.jpg"]
.map { URL(string: $0)! }
let prefetcher = ImagePrefetcher(urls: urls) {
skippedResources, failedResources, completedResources in
print("These resources are prefetched: \(completedResources)")
}
prefetcher.start()
// Later when you need to display these images:
imageView.kf.setImage(with: urls[0])
anotherImageView.kf.setImage(with: urls[1])
Imagen Viendo en aplicaciones Swift
La biblioteca Kingfisher permite a los programadores de software incluir capacidad de visualización de imágenes dentro de su aplicación con facilidad. La forma más fácil de establecer una vista de imagen es usar la extensión UIImageView. La biblioteca descargará la imagen de URL y la guiará tanto al caché de memoria como al caché de disco, y la mostrará en imageView. Cuando los usuarios últimos llamen a los mismos URL, recuperará y mostrará la imagen de caché. También respalda varias funciones relacionadas con imágenes como la desaparición de la imagen de descarga, mostrando el lugar, la imagen de esquina redonda y así sucesivamente.
Ver imágenes dentro de aplicaciones Swift
import Kingfisher
let url = URL(string: "https://example.com/image.png")
imageView.kf.setImage(with: url)
Conservar manualmente o quitar imágenes de caché
La fuente abierta de Swift Library Kingfisher permite a los programadores almacenar así como eliminar imágenes de caché con facilidad. Por defecto, los métodos de extensión de la vista pueden utilizarse para almacenar automáticamente la imagen recuperada. Pero puedes hacerlo manualmente con el método de la tienda cache. También puede pasar los datos originales de la imagen que ayudan a la biblioteca a determinar en qué formato debe almacenarse la imagen. También proporciona apoyo para eliminar manualmente una cierta imagen de caché. También soporta limpiar todos los datos de caché, reportar tamaño de almacenamiento de disco y crear tu propio caché.
Ver imágenes dentro de aplicaciones Swift
//Check whether an image in the cache
let cache = ImageCache.default
let cached = cache.isCached(forKey: cacheKey)
// To know where the cached image is:
let cacheType = cache.imageCachedType(forKey: cacheKey)
// `.memory`, `.disk` or `.none`.
// Store Image in the cache
let processor = RoundCornerImageProcessor(cornerRadius: 20)
imageView.kf.setImage(with: url, options: [.processor(processor)])
// Later
cache.isCached(forKey: cacheKey, processorIdentifier: processor.identifier)
// Retrieve image from cache
cache.retrieveImage(forKey: "cacheKey") { result in
switch result {
case .success(let value):
print(value.cacheType)
// If the `cacheType is `.none`, `image` will be `nil`.
print(value.image)
case .failure(let error):
print(error)
}
}