Kingfisher
Безкоштовна бібліотека Swift для завантаження та кешування зображень
API Swift з відкритим кодом, який дозволяє розробникам програмного забезпечення працювати з віддаленими зображеннями у своїх веб-додатках. Він дозволяє завантажувати та кешувати зображення, застосовувати процесори зображень і фільтри.
Kingfisher — це легка чиста реалізація Swift, яка надає повну функціональність для роботи з кількома форматами файлів зображень за допомогою коду Swift. Бібліотека допомагає розробникам створювати програми, які можуть дистанційно обробляти зображення з легкістю. Бібліотека асинхронно завантажує, а також кешує зображення у своїх власних програмах. Бібліотека підтримує багаторівневий кеш для завантажених зображень, що значно підвищує продуктивність програм. Це означає, що зображення зберігатимуться в кеш-пам’яті, а також на диску, тому їх не потрібно завантажувати знову.
Бібліотека дуже проста у використанні та забезпечує можливість керування кеш-пам’яттю. Користувачі можуть легко встановити розмір, а також тривалість кешу. Він також забезпечить автоматичне очищення кешу, що допоможе користувачам запобігти використанню бібліотекою занадто великої кількості ресурсів. Є ще одна чудова функція для скасування завдань. Користувачі можуть легко скасувати процес завантаження чи отримання зображень, якщо вони більше не потрібні.
Бібліотека Kingfisher допомагає розробникам використовувати компоненти для завантаження зображень і кешування зображень окремо відповідно до їхніх потреб. Ви навіть можете створити власний кеш відповідно до власних потреб за допомогою коду Swift. Це покращує продуктивність дискового кешу, уникаючи непотрібних операцій з диском. Бібліотека є відкритим кодом і доступна за ліцензією MIT.
Початок роботи з Kingfisher
Клонуйте останні джерела за допомогою такої команди
Встановіть Kingfisher через GitHub.
$ git submodule add https://github.com/onevcat/Kingfisher.git
Завантаження та кешування зображень через Swift Бібліотека
Програмно завантажити зображення та зберегти його в кеші за допомогою URL-адреси – дуже складне завдання. Бібліотека Swift Kingfisher з відкритим кодом полегшує розробникам програмного забезпечення ефективне завантаження та кешування зображень у власних програмах. Бібліотека підтримує кешування зображень як у пам’яті, так і на диску. За замовчуванням обсяг використовуваної оперативної пам’яті навіть не обмежений, і користувачі можуть самостійно встановлювати значення.
Завантаження та кешування зображень через Swift Бібліотека
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
Русский EnglishРусскийУкраїнськаPolskiItalianoEspañol汉语Bahasa Indonesiaहिन्दीPortuguês日本語DeutschFrançaisภาษาไทยελληνικά اللغة العربية Найпростіший спосіб налаштування зображення використовує розширення UIImageView. Русский EnglishРусскийУкраїнськаPolskiItalianoEspañol汉语Bahasa Indonesiaहिन्दीPortuguês日本語DeutschFrançaisภาษาไทยελληνικά اللغة العربية Коли останні користувачі називають той же URL, він швидко отримає і відображати зображення з кешу. Він також підтримує декілька функцій, пов'язаних з зображеннями, такими як зображення завантаження загартованого зображення, демонструючи місцевласника, зображення круглого кута тощо.
Перегляд зображень всередині Swift Apps
import Kingfisher
let url = URL(string: "https://example.com/image.png")
imageView.kf.setImage(with: url)
Ручний магазин або видалення кешу зображень
Русский EnglishРусскийУкраїнськаPolskiItalianoEspañol汉语Bahasa Indonesiaहिन्दीPortuguês日本語DeutschFrançaisภาษาไทยελληνικά اللغة العربية За замовчуванням методи розширення можна використовувати для зберігання отриманого зображення в кеш автоматично. Але можна зробити це вручну за допомогою кешу.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)
}
}