![](https://products-qa.fileformat.com/lt/image/swift/kingfisher/header-image.png)
Kingfisher
Nemokama „Swift“ biblioteka vaizdams atsisiųsti ir išsaugoti talpykloje
Atvirojo kodo „Swift“ API, leidžianti programinės įrangos kūrėjams dirbti su nuotoliniais vaizdais savo žiniatinklio programose. Tai leidžia atsisiųsti ir talpykloje išsaugoti vaizdus, taikyti vaizdo procesorius ir filtrus.
„Kingfisher“ yra lengvas, grynas „Swift“ diegimas, kuris suteikė visas funkcijas dirbant su keliais vaizdo failų formatais naudojant „Swift“ kodą. Biblioteka padeda kūrėjams kurti programas, kurios gali lengvai nuotoliniu būdu tvarkyti vaizdus. Biblioteka asinchroniškai atsisiunčia ir talpina vaizdus savo programose. Biblioteka palaiko kelių sluoksnių talpyklą atsisiųstam vaizdui, kuri nepaprastai pagerina programų našumą. Tai reiškia, kad vaizdai bus saugomi atmintyje ir diske, todėl nereikės jų dar kartą atsisiųsti.
Biblioteka yra labai paprasta valdyti ir suteikia galimybę valdyti talpyklą. Vartotojai gali lengvai nustatyti talpyklos dydį ir trukmę. Tai taip pat suteiks automatinio talpyklos valymo funkciją, kuri padės vartotojams neleisti bibliotekai išnaudoti per daug išteklių. Yra dar viena puiki funkcija užduočių atšaukimui. Vartotojai gali lengvai atšaukti atsisiuntimo ar vaizdo gavimo procesą, jei jo nebereikia.
„Kingfisher“ biblioteka leidžia kūrėjams naudoti vaizdų atsisiuntimo ir vaizdų talpyklos komponentus atskirai pagal savo poreikius. Jūs netgi galite sukurti savo talpyklą pagal savo poreikius naudodami „Swift“ kodą. Tai pagerina disko talpyklos našumą išvengiant nereikalingų disko operacijų. Biblioteka yra atvirojo kodo ir yra prieinama pagal MIT licenciją.
Darbo su Kingfisher pradžia
Klonuokite naujausius šaltinius naudodami šią komandą
Įdiekite „Kingfisher“ per „GitHub“.
$ git submodule add https://github.com/onevcat/Kingfisher.git
Atsisiųskite ir išsaugokite vaizdus per „Swift Library“.
Programiškai atsisiųsti vaizdą ir išsaugoti jį talpykloje naudojant URL yra labai sudėtinga užduotis. Atvirojo kodo Swift biblioteka Kingfisher leidžia programinės įrangos kūrėjams efektyviai atsisiųsti ir talpykloje išsaugoti vaizdus savo programose. Biblioteka palaiko vaizdų talpyklą tiek atmintyje, tiek diske. Pagal numatytuosius nustatymus naudojamas RAM kiekis net neribojamas ir vartotojai gali patys nustatyti reikšmę.
Atsisiųskite ir išsaugokite vaizdus per „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])
Vaizdo peržiūra „Swift Apps“.
Kingfisher biblioteka leidžia programuotojams lengvai įtraukti vaizdų peržiūros galimybę į savo programą. Lengviausias būdas nustatyti vaizdo rodinį yra naudoti UIImageView plėtinį. Biblioteka atsisiųs vaizdą iš URL ir nukreips jį į atminties talpyklą ir disko talpyklą bei parodys jį „imageView“. Kai pastarieji vartotojai skambina tuo pačiu URL, jis greitai nuskaitys ir parodys vaizdą iš talpyklos. Ji taip pat palaiko keletą funkcijų, susijusių su vaizdais, pvz., blukimas atsisiuntimo vaizdas, rodymas vietos rezervavimo, apvalaus kampo vaizdas ir pan.
Peržiūrėkite vaizdus „Swift Apps“.
import Kingfisher
let url = URL(string: "https://example.com/image.png")
imageView.kf.setImage(with: url)
Rankiniu būdu išsaugokite arba pašalinkite talpyklos vaizdus
Atvirojo kodo Swift biblioteka Kingfisher leidžia programuotojams lengvai saugoti ir pašalinti vaizdus iš talpyklos. Pagal numatytuosius nustatymus rodinio plėtinio metodai gali būti naudojami automatiškai išsaugoti gautą vaizdą talpykloje. Bet jūs galite tai padaryti rankiniu būdu naudodami cache.store() metodą. Taip pat galite perduoti originalius vaizdo duomenis, kurie padeda bibliotekai nustatyti, kokiu formatu vaizdas turi būti saugomas. Tai taip pat palaiko rankinį tam tikro vaizdo pašalinimą iš talpyklos. Tai taip pat palaiko visų talpyklos duomenų išvalymą, disko saugyklos dydžio ataskaitą ir savo talpyklos kūrimą.
Peržiūrėkite vaizdus „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)
}
}