Kingfisher
Безплатна библиотека Swift за изтегляне и кеширане на изображения
Swift API с отворен код, който позволява на разработчиците на софтуер да работят с отдалечени изображения в своите уеб приложения. Позволява изтегляне и кеширане на изображения, прилагане на процесори за обработка на изображения и филтри.
Kingfisher е лека чиста реализация на Swift, която предоставя пълна функционалност за работа с множество файлови формати на изображения с помощта на Swift код. Библиотеката помага на разработчиците да създават приложения, които могат дистанционно да обработват изображения с лекота. Библиотеката асинхронно изтегля, както и кешира изображения в собствените си приложения. Библиотеката поддържа многослоен кеш за изтеглените изображения, което значително подобрява производителността на приложенията. Това означава, че изображенията ще бъдат кеширани в паметта, както и на диска, така че няма нужда да ги изтегляте отново.
Библиотеката е много лесна за работа и предоставя възможност за управление на кеша. Потребителите могат лесно да задават размера, както и продължителността на кеша. Той също така ще осигури автоматично средство за почистване на кеша, което помага на потребителите да попречат на библиотеката да използва твърде много ресурси. Включена е още една страхотна функция за отмяна на задача. Потребителите могат лесно да отменят процеса на изтегляне или извличане на изображения, ако вече не са необходими.
Библиотеката Kingfisher улеснява разработчиците да използват отделно изтегляне на изображения и компоненти за кеширане на изображения според техните нужди. Можете дори да създадете свой собствен кеш според собствените си нужди, като използвате Swift код. Подобрява производителността на дисковия кеш, като избягва ненужните дискови операции. Библиотеката е с отворен код и се предлага под лиценза на MIT.
Първи стъпки с Kingfisher
Клонирайте най-новите източници с помощта на следната команда
Инсталирайте Kingfisher чрез GitHub.
$ git submodule add https://github.com/onevcat/Kingfisher.git
Изтегляне и скриване чрез Swift Library
Много трудна задача е програмно да изтеглите изображение и да го съхранявате, като използвате URL. Библиотеката с отворен код Swift Kingfisher улеснява разработчиците на софтуер за ефективно изтегляне и кеш изображения в собствените си приложения. Библиотеката поддържа кеширащи изображения както в паметта, така и на диск. По подразбиране количеството AM, което ще се използва, не е дори ограничено и потребителите могат да определят самата стойност.
Изтегляне и скриване чрез 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
Библиотеката Kingfisher позволява на софтуерните програмисти да включват способността за гледане на изображения в приложението си с лекота. Най-лесният начин за настройка на изглед на изображение е да използвате разширение UIImageView. Библиотеката ще изтегли изображението от URL и ще го доведе до кеш памет и дисков кеш и ще го покаже на imageView. Когато последните потребители се обадят на същата URL, тя бързо ще извлече и покаже изображението от кеш. Той също така поддържа няколко функции, свързани с изображения като избледняване на изображения за изтегляне, показващи притежател, кръгъл ъгъл изображение и т.н.
Снимки в приложения за Swift
import Kingfisher
let url = URL(string: "https://example.com/image.png")
imageView.kf.setImage(with: url)
Ръчно съхраняване или премахване на Cache изображения
Отворената библиотека Kingfisher дава възможност на програмистите да съхраняват, както и да премахват изображения от кеш с лекота. По подразбиране методите за разширение на изглед могат да се използват за съхраняване на извлеченото изображение, за да се кешира автоматично. Но можете да го направите ръчно с Cache.store() метод. Можете също така да предадете оригиналните данни на изображението, които помагат на библиотеката да определи в какъв формат трябва да се съхранява изображението. Той също така осигурява подкрепа за ръчно премахване на определен образ от кеш. Той също така поддържа изчистване на всички кеш данни, отчитане на размера на дисковете и създаване на собствен кеш.
Снимки в приложения за 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)
}
}