![](https://products-qa.fileformat.com/sv/image/swift/kingfisher/header-image.png)
Kingfisher
Gratis Swift Library för att ladda ner och cachebilder
Swift API med öppen källkod som gör att mjukvaruutvecklare kan arbeta med fjärrbilder i sina webbappar. Det gör det möjligt att ladda ner och cachelagra bilder, använda bildprocessorer och filter.
Kingfisher är en lätt, ren Swift-implementering som gav komplett funktionalitet för att arbeta med flera bildfilformat med Swift-kod. Biblioteket hjälper utvecklare att skapa applikationer som kan fjärrhantera bilder med lätthet. Biblioteket laddar ner och cachar asynkront bilder i sina egna applikationer. Biblioteket stöder en cache i flera lager för de nedladdade bilderna som avsevärt förbättrar apparnas prestanda. Det betyder att bilder kommer att cachelagras i minnet såväl som på disken så du behöver inte ladda ner dem igen.
Biblioteket är mycket lätt att hantera och ger en möjlighet för cachehantering. Användare kan enkelt ställa in storleken och varaktigheten för cachen. Det kommer också att tillhandahålla en automatisk rensning av cache som hjälper användare att förhindra att biblioteket använder för många resurser. En annan fantastisk funktion ingår för att avbryta uppgifter. Användare kan enkelt avbryta nedladdnings- eller bildhämtningsprocessen om den inte behövs längre.
Kingfisher-biblioteket gör det lättare för utvecklare att använda komponenter för bildnedladdning och bildcache separat enligt deras behov. Du kan till och med skapa din egen cache efter dina egna behov med hjälp av Swift-kod. Det förbättrar diskcacheprestanda genom att undvika onödiga diskoperationer. Biblioteket är öppen källkod och är tillgängligt under MIT-licensen.
Komma igång med Kingfisher
Klona de senaste källorna med följande kommando
Installera Kingfisher via GitHub.
$ git submodule add https://github.com/onevcat/Kingfisher.git
Ladda ner och cache bilder via Swift Library
Det är en mycket svår uppgift att programmera en bild och lagra den till cache med en URL. Den öppna källan Swift biblioteket Kingfisher gör det enkelt för programutvecklare att effektivt ladda ner och cache bilder inuti sina egna applikationer. Biblioteket stöder cachningsbilder både i minnet och på disken. Som standard är mängden AM som kommer att användas inte ens begränsad och användarna kan ange själva värdet.
Ladda ner och cache 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])
Bildvisning inuti Swift Apps
Kingfisher-biblioteket tillåter programvaruprogrammerare att inkludera bildvisningskapacitet i sin applikation med lätthet. Det enklaste sättet att ställa in en bildvy använder UIImageView förlängning. Biblioteket hämtar bilden från URL och leder den till både minnescache och diskcache och visar den i imageView. När sistnämnda användare kallar samma URL, kommer det omedelbart att hämta och visa bilden från cache. Det stöder också flera funktioner relaterade till bilder som bleknande nedladdningsbild, som visar platshållare, rund hörnbild och så vidare.
Visa bilder inuti Swift Apps
import Kingfisher
let url = URL(string: "https://example.com/image.png")
imageView.kf.setImage(with: url)
Manuellt lagra eller ta bort cache bilder
Den öppna källan Swift biblioteket Kingfisher gör det möjligt för programmerare att lagra samt ta bort bilder från cache med lätthet. Som standard kan förlängningsmetoder användas för att lagra den hämtade bilden till cache automatiskt. Men du kan göra det manuellt med cache.store() metod. Du kan också skicka originaldata från bilden som hjälper biblioteket att bestämma i vilket format bilden ska lagras. Det ger också stöd för att manuellt ta bort en viss bild från cache. Det stöder också att rensa alla cache-data, rapportera disklagringsstorlek och skapa din egen cache.
Visa bilder inuti 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)
}
}