Kingfisher
Bezplatná knihovna Swift ke stažení a uložení obrázků do mezipaměti
Open source Swift API, které umožňuje vývojářům softwaru pracovat se vzdálenými obrázky v rámci jejich webových aplikací. Umožňuje stahovat a ukládat obrázky do mezipaměti, používat procesory obrázků a filtry.
Kingfisher je odlehčená čistá implementace Swift, která poskytuje kompletní funkčnost pro práci s více formáty obrazových souborů pomocí kódu Swift. Knihovna pomáhá vývojářům vytvářet aplikace, které mohou na dálku snadno zpracovávat obrázky. Knihovna asynchronně stahuje a ukládá obrázky do mezipaměti uvnitř svých vlastních aplikací. Knihovna podporuje vícevrstvou mezipaměť pro stažené obrázky, což nesmírně zvyšuje výkon aplikací. To znamená, že obrázky budou ukládány do mezipaměti i na disk, takže je není nutné znovu stahovat.
Knihovna je velmi snadno ovladatelná a poskytuje zařízení pro správu mezipaměti. Uživatelé mohou snadno nastavit velikost i dobu trvání mezipaměti. Poskytne také automatické čištění mezipaměti, které uživatelům pomůže zabránit tomu, aby knihovna využívala příliš mnoho zdrojů. Jedna další skvělá funkce je zahrnuta pro zrušení úlohy. Uživatelé mohou snadno zrušit proces stahování nebo načítání obrázků, pokud již není potřeba.
Knihovna Kingfisher umožňuje vývojářům používat komponenty pro stahování obrázků a ukládání obrázků do mezipaměti samostatně podle jejich potřeb. Můžete si dokonce vytvořit vlastní cache podle vlastních potřeb pomocí Swift kódu. Zlepšuje výkon diskové mezipaměti tím, že se vyhne zbytečným operacím s diskem. Knihovna je open source a je dostupná pod licencí MIT.
Začínáme s Kingfisher
Naklonujte nejnovější zdroje pomocí následujícího příkazu
Nainstalujte Kingfisher přes GitHub.
$ git submodule add https://github.com/onevcat/Kingfisher.git
Ke stažení & Cache Obrázky přes knihovnu Swift
Je velmi obtížný úkol programově stahovat obraz a uložit jej do cache pomocí URL. Otevřený zdroj Swift knihovna Kingfisher usnadňuje vývojářům softwaru pro efektivní stahování a mezipaměti obrázků uvnitř vlastních aplikací. Knihovna podporuje ukládání obrázků jak v paměti, tak na disku. Ve výchozím nastavení se množství AM, která bude použita, není ani omezené a uživatelé mohou nastavit hodnotu sami.
Ke stažení & Cache Obrázky přes knihovnu Swift
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])
Zobrazení obrazu uvnitř aplikace Swift
Knihovna Kingfisher umožňuje softwarovým programátorům zahrnout schopnost prohlížení obrázků uvnitř jejich aplikace s lehkostí. Nejjednodušší způsob, jak nastavit zobrazení obrazu pomocí rozšíření UIImageView. Knihovna stáhne obraz z URL a povede jej k mezipaměti paměti a mezipaměti disku a zobrazí se v imageView. Když ostatní uživatelé říkají stejné URL, bude okamžitě načíst a zobrazovat obraz z cache. Podporuje také několik funkcí týkajících se obrázků, jako je fading stahování obrazu, zobrazující zástupný symbol, kulatý rohový obraz a tak dále.
Zobrazit obrázky uvnitř Swift Apps
import Kingfisher
let url = URL(string: "https://example.com/image.png")
imageView.kf.setImage(with: url)
Manuálně Obchodovat nebo odebrat Cache obrázky
Otevřený zdroj Swift knihovna Kingfisher umožňuje programátorům ukládat a snadno odstranit obrázky z cache. Ve výchozím nastavení mohou být použity metody rozšíření pro uložení načteného obrazu do cache automaticky. Ale můžete to udělat ručně pomocí metody Cache.store(). Můžete také předat původní data obrazu, které pomáhají knihovnu určit, ve kterém by měl být obraz uložen. Poskytuje také podporu pro ruční odstranění určitého obrazu z cache. Podporuje také vyčištění všech dat mezipaměti, velikost ukládání disku a vytváření vlastní cache.
Zobrazit obrázky uvnitř 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)
}
}