![](https://products-qa.fileformat.com/no/image/swift/kingfisher/header-image.png)
Kingfisher
Gratis Swift Library for å laste ned og bufre bilder
Swift API med åpen kildekode som lar programvareutviklere jobbe med eksterne bilder i nettappene deres. Den lar deg laste ned og bufre bilder, bruke bildeprosessorer og filtre.
Kingfisher er en lett, ren Swift-implementering som ga komplett funksjonalitet for arbeid med flere bildefilformater ved bruk av Swift-kode. Biblioteket hjelper utviklere med å lage applikasjoner som kan fjernhåndtere bilder med letthet. Biblioteket laster ned og cacher bilder asynkront i sine egne applikasjoner. Biblioteket støtter en flerlags cache for de nedlastede bildene som forbedrer ytelsen til appene enormt. Det betyr at bilder vil bli bufret i minnet så vel som på disken, så du trenger ikke å laste det ned igjen.
Biblioteket er veldig enkelt å håndtere og gir mulighet for cachehåndtering. Brukere kan enkelt stille inn størrelsen og varigheten av hurtigbufferen. Det vil også gi en automatisk bufferrensing som hjelper brukere med å forhindre at biblioteket bruker for mange ressurser. En annen flott funksjon er inkludert for kansellering av oppgaver. Brukere kan enkelt avbryte nedlastings- eller bildehentingsprosessen hvis det ikke er nødvendig lenger.
Kingfisher-biblioteket gjør det lettere for utviklere å bruke bildenedlasting og bildebufring separat i henhold til deres behov. Du kan til og med lage din egen cache i henhold til dine egne behov ved å bruke Swift-kode. Det forbedrer diskbufferytelsen ved å unngå unødvendige diskoperasjoner. Biblioteket er åpen kildekode og er tilgjengelig under MIT-lisensen.
Komme i gang med Kingfisher
Klon de nyeste kildene med følgende kommando
Installer Kingfisher via GitHub.
$ git submodule add https://github.com/onevcat/Kingfisher.git
Last ned og hurtigbufrer bilder via Swift Library
Det er en veldig vanskelig oppgave å programmatisk laste ned et bilde og lagre det i cache ved hjelp av en URL. Swift-biblioteket Kingfisher med åpen kildekode gjør det enkelt for programvareutviklere å effektivt laste ned og cache bilder i sine egne applikasjoner. Biblioteket støtter caching av bilder både i minnet og på disken. Som standard er mengden RAM som vil bli brukt ikke engang begrenset, og brukere kan angi verdien selv.
Last ned og hurtigbufrer bilder 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])
Bildevisning i Swift Apps
Kingfisher-biblioteket lar programvareprogrammerere enkelt inkludere bildevisningsmuligheter i applikasjonen deres. Den enkleste måten å angi en bildevisning på er å bruke UIImageView-utvidelsen. Biblioteket vil laste ned bildet fra URL og føre det til både minnebuffer og diskbuffer, og vise det i imageView. Når sistnevnte brukere kaller samme URL, vil den umiddelbart hente og vise bildet fra hurtigbufferen. Den støtter også flere funksjoner relatert til bilder som falming nedlastingsbilde, visning av plassholder, runde hjørnebilde og så videre.
Se bilder i Swift Apps
import Kingfisher
let url = URL(string: "https://example.com/image.png")
imageView.kf.setImage(with: url)
Lagre eller fjern hurtigbufferbilder manuelt
Swift-biblioteket Kingfisher med åpen kildekode gjør det mulig for programmerere å lagre og fjerne bilder fra hurtigbufferen med letthet. Som standard kan metoder for visningsutvidelse brukes til å lagre det hentede bildet for å hurtigbufre automatisk. Men du kan gjøre det manuelt med metoden cache.store(). Du kan også sende de originale dataene til bildet som hjelper biblioteket med å bestemme i hvilket format bildet skal lagres. Det gir også støtte for å manuelt fjerne et bestemt bilde fra hurtigbufferen. Den støtter også sletting av alle cache-data, rapporter disklagringsstørrelse og opprette din egen cache.
Se bilder i 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)
}
}