Kingfisher

 
 

Безплатна библиотека Swift за изтегляне и кеширане на изображения

Swift API с отворен код, който позволява на разработчиците на софтуер да работят с отдалечени изображения в своите уеб приложения. Позволява изтегляне и кеширане на изображения, прилагане на процесори за обработка на изображения и филтри.

Kingfisher е лека чиста реализация на Swift, която предоставя пълна функционалност за работа с множество файлови формати на изображения с помощта на Swift код. Библиотеката помага на разработчиците да създават приложения, които могат дистанционно да обработват изображения с лекота. Библиотеката асинхронно изтегля, както и кешира изображения в собствените си приложения. Библиотеката поддържа многослоен кеш за изтеглените изображения, което значително подобрява производителността на приложенията. Това означава, че изображенията ще бъдат кеширани в паметта, както и на диска, така че няма нужда да ги изтегляте отново.

Библиотеката е много лесна за работа и предоставя възможност за управление на кеша. Потребителите могат лесно да задават размера, както и продължителността на кеша. Той също така ще осигури автоматично средство за почистване на кеша, което помага на потребителите да попречат на библиотеката да използва твърде много ресурси. Включена е още една страхотна функция за отмяна на задача. Потребителите могат лесно да отменят процеса на изтегляне или извличане на изображения, ако вече не са необходими.

Библиотеката Kingfisher улеснява разработчиците да използват отделно изтегляне на изображения и компоненти за кеширане на изображения според техните нужди. Можете дори да създадете свой собствен кеш според собствените си нужди, като използвате Swift код. Подобрява производителността на дисковия кеш, като избягва ненужните дискови операции. Библиотеката е с отворен код и се предлага под лиценза на MIT.

Previous Next

Първи стъпки с 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)
    }
}
 Български