Kingfisher
Ilmainen Swift-kirjasto kuvien lataamiseen ja välimuistiin tallentamiseen
Avoimen lähdekoodin Swift-sovellusliittymä, jonka avulla ohjelmistokehittäjät voivat työskennellä etäkuvien kanssa verkkosovelluksissaan. Sen avulla voit ladata ja tallentaa kuvia välimuistiin, käyttää kuvankäsittelylaitteita ja suodattimia.
Kingfisher on kevyt puhdas Swift-toteutus, joka tarjosi täydelliset toiminnot useiden kuvatiedostomuotojen kanssa työskentelemiseen Swift-koodia käyttäen. Kirjasto auttaa kehittäjiä luomaan sovelluksia, jotka voivat käsitellä kuvia etänä helposti. Kirjasto lataa ja tallentaa kuvia asynkronisesti omissa sovelluksissaan. Kirjasto tukee monikerroksista välimuistia ladatuille kuville, mikä parantaa huomattavasti sovellusten suorituskykyä. Tämä tarkoittaa, että kuvat tallennetaan välimuistiin sekä levylle, joten niitä ei tarvitse ladata uudelleen.
Kirjasto on erittäin helppo käsitellä ja tarjoaa mahdollisuuden välimuistin hallintaan. Käyttäjät voivat helposti asettaa välimuistin koon ja keston. Se tarjoaa myös automaattisen välimuistin puhdistustoiminnon, joka auttaa käyttäjiä estämään kirjastoa käyttämästä liikaa resursseja. Yksi toinen hieno ominaisuus on mukana tehtävien peruuttamista varten. Käyttäjät voivat helposti peruuttaa lataus- tai kuvanhakuprosessin, jos sitä ei enää tarvita.
Kingfisher-kirjaston avulla kehittäjät voivat käyttää kuvien lataus- ja välimuistikomponentteja erikseen tarpeidensa mukaan. Voit jopa luoda oman välimuistin omien tarpeidesi mukaan käyttämällä Swift-koodia. Se parantaa levyvälimuistin suorituskykyä välttämällä tarpeettomia levytoimintoja. Kirjasto on avoimen lähdekoodin ja se on saatavilla MIT-lisenssillä.
Kingfisherin käytön aloittaminen
Kloonaa uusimmat lähteet käyttämällä seuraavaa komentoa
Asenna Kingfisher GitHubin kautta.
$ git submodule add https://github.com/onevcat/Kingfisher.git
Lataa ja tallenna kuvat välimuistiin Swift Libraryn kautta
On erittäin vaikea tehtävä ladata kuva ohjelmallisesti ja tallentaa se välimuistiin URL-osoitteen avulla. Avoimen lähdekoodin Swift-kirjasto Kingfisherin avulla ohjelmistokehittäjät voivat ladata ja välimuistiin kuvia tehokkaasti omissa sovelluksissaan. Kirjasto tukee kuvien tallentamista välimuistiin sekä muistiin että levylle. Oletuksena käytettävän RAM-muistin määrää ei ole edes rajoitettu, ja käyttäjät voivat asettaa arvon itse.
Lataa ja tallenna kuvat välimuistiin Swift Libraryn kautta
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])
Kuvan katselu Swift Appsissa
Kingfisher-kirjaston avulla ohjelmoijat voivat sisällyttää kuvien katseluominaisuuden helposti sovellukseensa. Helpoin tapa määrittää kuvanäkymä on UIImageView-laajennuksella. Kirjasto lataa kuvan URL-osoitteesta ja ohjaa sen sekä muisti- että levyvälimuistiin ja näyttää sen imageView-tilassa. Kun jälkimmäiset käyttäjät soittavat samalle URL-osoitteelle, se hakee ja näyttää kuvan välittömästi välimuistista. Se tukee myös useita kuviin liittyviä toimintoja, kuten haalistuvaa latauskuvaa, paikkamerkkien näyttämistä, pyöreän kulman kuvaa ja niin edelleen.
Tarkastele kuvia Swift Appsissa
import Kingfisher
let url = URL(string: "https://example.com/image.png")
imageView.kf.setImage(with: url)
Tallenna tai poista välimuistikuvat manuaalisesti
Avoimen lähdekoodin Swift-kirjasto Kingfisher tekee avulla ohjelmoijat voivat tallentaa ja poistaa kuvia välimuistista helposti. Oletusarvoisesti näkymän laajennusmenetelmiä voidaan käyttää haetun kuvan tallentamiseen välimuistiin automaattisesti. Mutta voit tehdä sen manuaalisesti cache.store()-menetelmällä. Voit myös välittää kuvan alkuperäiset tiedot, jotka auttavat kirjastoa määrittämään, missä muodossa kuva tulee tallentaa. Se tukee myös tietyn kuvan manuaalista poistamista välimuistista. Se tukee myös kaikkien välimuistitietojen tyhjentämistä, levyn tallennuskoon raportointia ja oman välimuistin luomista.
Tarkastele kuvia Swift Appsissa
//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)
}
}