![](https://products-qa.fileformat.com/ru/image/swift/kingfisher/header-image.png)
Kingfisher
Бесплатная библиотека Swift для загрузки и кэширования изображений
Swift API с открытым исходным кодом, который позволяет разработчикам программного обеспечения работать с удаленными изображениями в своих веб-приложениях. Он позволяет загружать и кэшировать изображения, применять процессоры изображений и фильтры.
Kingfisher - это легкая чистая реализация Swift, которая обеспечила полную функциональность для работы с несколькими форматами файлов изображений с использованием Swift-кода. Библиотека помогает разработчикам создавать приложения, которые могут удаленно обрабатывать изображения с легкостью. Библиотека асинхронно загружается, а также кэширует изображения в своих собственных приложениях. Библиотека поддерживает многослойный кэш для загруженных изображений, что значительно повышает производительность приложений. Это означает, что изображения будут кэшированы в памяти, а также на диске, поэтому не нужно загружать его снова.
Библиотека очень проста в обращении и предоставляет средства для управления кешем. Пользователи могут легко установить размер, а также продолжительность кеша. Он также предоставит средство автоматической очистки кэша, которое поможет пользователям предотвратить использование библиотекой слишком большого количества ресурсов. Еще одна замечательная функция включена для отмены задачи. Пользователи могут легко отменить процесс загрузки или получения изображения, если он больше не нужен.
Библиотека Kingfisher облегчает разработчикам использование компонентов загрузки изображений и кэширования изображений по отдельности в соответствии с их потребностями. Вы даже можете создать свой собственный кэш в соответствии с вашими потребностями, используя код Swift. Это улучшило производительность кэша диска, избегая ненужных операций диска. Библиотека является открытым исходным кодом и доступна по лицензии ИТ.
Начало работы с зимородком
Клонируйте последние исходники с помощью следующей команды
Установите Kingfisher через GitHub.
$ git submodule add https://github.com/onevcat/Kingfisher.git
Скачать & Cache Images через Swift Library
Это очень сложная задача для программной загрузки изображения и хранения его для кэша с помощью URL. Библиотека с открытым исходным кодом Swift Kingfisher позволяет разработчикам программного обеспечения эффективно загружать и кэш-изображения в своих собственных приложениях. Библиотека поддерживает кэширование изображений как в памяти, так и на диске. По умолчанию количество AM, которое будет использоваться, даже не ограничено, и пользователи могут сами установить значение.
Скачать & Cache Images через 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])
Просмотр изображений внутри Swift Apps
Библиотека Kingfisher позволяет программистам включить возможность просмотра изображений в свое приложение с легкостью. Самый простой способ для установки изображения - это использование расширения UIImageView. Библиотека загрузит изображение с URL и приведет его как кэшу памяти, так и кэшу диска, и отобразит его в imageView. Когда последние пользователи называют один и тот же URL, он будет быстро извлекать и отображать изображение из кэша. Он также поддерживает несколько функций, связанных с изображениями, такими как угасающее скачивающее изображение, показывающее владельца места, изображение за круглым углом и так далее.
Просмотр изображений внутри Swift Apps
import Kingfisher
let url = URL(string: "https://example.com/image.png")
imageView.kf.setImage(with: url)
Ручное хранение или удаление изображений кэша
Библиотека с открытым исходным кодом Swift Kingfisher позволяет программистам хранить и легко удалять изображения из кэша. По умолчанию для хранения полученного изображения кэша можно использовать методы расширения просмотра. Но вы можете сделать это вручную с помощью метода cache.store(). Вы также можете передать исходные данные изображения, которые помогают библиотеке определить, в каком формате должно храниться изображение. Он также обеспечивает поддержку для ручного удаления определенного изображения из кэша. Он также поддерживает расчистку всех данных кэша, размер хранилища отчета и создание собственного кэша.
Просмотр изображений внутри Swift Apps
//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)
}
}