Kingfisher
Bibliotecă Swift gratuită pentru a descărca și a stoca în cache imagini
API-ul Swift cu sursă deschisă, care le permite dezvoltatorilor de software să lucreze cu imagini de la distanță în aplicațiile lor web. Permite descărcarea și stocarea în cache a imaginilor, aplicarea procesoarelor de imagine și filtrelor.
Kingfisher este o implementare Swift pură ușoară, care a furnizat funcționalitate completă pentru lucrul cu mai multe formate de fișiere imagine folosind codul Swift. Biblioteca ajută dezvoltatorii să creeze aplicații care pot gestiona cu ușurință imaginile de la distanță. Biblioteca descarcă asincron și memorează cache imagini în propriile aplicații. Biblioteca acceptă un cache cu mai multe straturi pentru imaginile descărcate, care îmbunătățește enorm performanța aplicațiilor. Aceasta înseamnă că imaginile vor fi stocate în cache în memorie, precum și pe disc, deci nu este nevoie să le descărcați din nou.
Biblioteca este foarte ușor de manevrat și oferă o facilitate pentru gestionarea cache-ului. Utilizatorii pot seta cu ușurință dimensiunea, precum și durata memoriei cache. De asemenea, va oferi o facilitate de curățare automată a memoriei cache care îi ajută pe utilizatori să împiedice biblioteca să utilizeze prea multe resurse. O altă caracteristică excelentă este inclusă pentru anularea sarcinilor. Utilizatorii pot anula cu ușurință procesul de descărcare sau de recuperare a imaginii dacă nu mai este necesar.
Biblioteca Kingfisher facilitează dezvoltatorilor să utilizeze componentele de descărcare și stocare în cache a imaginilor separat, în funcție de nevoile lor. Puteți chiar să vă creați propriul cache în funcție de nevoile dvs. folosind codul Swift. Îmbunătățește performanța memoriei cache a discului evitând operațiunile inutile pe disc. Biblioteca este open source și este disponibilă sub licența MIT.
Noțiuni introductive cu Kingfisher
Clonează cele mai recente surse folosind următoarea comandă
Instalați Kingfisher prin GitHub.
$ git submodule add https://github.com/onevcat/Kingfisher.git
Download Cache Images via Swift Library
Este o sarcină foarte dificilă de a descărca programatic o imagine și de a o stoca în cache folosind un URL. Biblioteca open source Swift Kingfisher facilitează descărcarea eficientă și cache a imaginilor în propriile aplicații. Biblioteca suportă imagini atât în memorie, cât și pe disc. În mod implicit, cantitatea de AM care va fi utilizată nu este nici măcar limitată și utilizatorii pot seta valoarea în sine.
Download Cache Images via 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])
Imagine vizualizată în Swift Apps
Biblioteca Kingfisher permite programatorilor de software să includă cu ușurință capacitatea de vizualizare a imaginilor în aplicația lor. Cel mai simplu mod de a stabili o imagine este utilizarea extensiei UIImageView. Biblioteca va descărca imaginea de la URL și o va duce atât la memoria cache, cât și la memoria cache, și o va afișa în imageView. Când utilizatorii din urmă numesc același URL, acesta va prelua și afișa rapid imaginea de la cache. Acesta susține, de asemenea, mai multe funcții legate de imagini, cum ar fi imaginea de descărcare în estompare, afișarea locatorului, imaginea colțului rotund și așa mai departe.
Vezi imagini din Swift Apps
import Kingfisher
let url = URL(string: "https://example.com/image.png")
imageView.kf.setImage(with: url)
Depozitați sau eliminați imaginile cu cache
Biblioteca deschisă Swift Kingfisher permite programatorilor să stocheze și să elimine imaginile din cache cu ușurință. În mod implicit, metodele de extensie vizuală pot fi utilizate pentru a stoca automat imaginea recuperată. Dar o puteți face manual cu metoda cache.store(). De asemenea, puteți transmite datele originale ale imaginii care ajută biblioteca să determine în ce format ar trebui să fie stocată imaginea. De asemenea, oferă suport pentru eliminarea manuală a unei anumite imagini din cache. De asemenea, vă ajută să ștergeți toate datele cache, să raportați dimensiunea stocării discului și să vă creați propria memorie cache.
Vezi imagini din 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)
}
}