Kingfisher
Ingyenes Swift Library képek letöltéséhez és gyorsítótárazásához
Nyílt forráskódú Swift API, amely lehetővé teszi a szoftverfejlesztők számára, hogy távoli képekkel dolgozzanak webalkalmazásaikon belül. Lehetővé teszi képek letöltését és gyorsítótárazását, képfeldolgozók és szűrők alkalmazását.
A Kingfisher egy könnyű, tiszta Swift implementáció, amely teljes funkcionalitást biztosított több képfájlformátummal való munkavégzéshez Swift kód használatával. A könyvtár segítségével a fejlesztők olyan alkalmazásokat hozhatnak létre, amelyek távolról is könnyedén kezelhetik a képeket. A könyvtár aszinkron módon tölti le és gyorsítótárazza a képeket a saját alkalmazásaikban. A könyvtár támogatja a többrétegű gyorsítótárat a letöltött képek számára, ami rendkívül javítja az alkalmazások teljesítményét. Ez azt jelenti, hogy a képek a memóriában és a lemezen is gyorsítótárban lesznek, így nem kell újra letölteni.
A könyvtár nagyon könnyen kezelhető, és lehetőséget biztosít a gyorsítótár-kezelésre. A felhasználók könnyen beállíthatják a gyorsítótár méretét és időtartamát. Automatikus gyorsítótár-tisztítási lehetőséget is biztosít, amely segít a felhasználóknak megakadályozni, hogy a könyvtár túl sok erőforrást használjon fel. Egy másik nagyszerű funkció a feladat törlésére szolgál. A felhasználók egyszerűen megszakíthatják a letöltési vagy képlekérési folyamatot, ha már nincs rá szükség.
A Kingfisher könyvtár lehetővé teszi a fejlesztők számára, hogy igényeik szerint külön-külön használhassák a képletöltést és a képgyorsítótárat. Swift kóddal akár saját gyorsítótárat is létrehozhat saját igényei szerint. Javítja a lemez gyorsítótárának teljesítményét azáltal, hogy elkerüli a szükségtelen lemezműveleteket. A könyvtár nyílt forráskódú, és az MIT licenc alatt érhető el.
Kezdő lépések a Kingfisherrel
Klónozza a legújabb forrásokat a következő paranccsal
Telepítse a Kingfisher-t a GitHubon keresztül.
$ git submodule add https://github.com/onevcat/Kingfisher.git
Download & Cache képek a Swift könyvtáron keresztül
Ez egy nagyon nehéz feladat, hogy programozzák le egy képet, és tárolja, hogy a cache segítségével egy URL. A nyílt forráskódú Swift könyvtár Kingfisher megkönnyíti a szoftverfejlesztők számára, hogy hatékonyan letöltsék és lemásolják a képeket saját alkalmazásaikban. A könyvtár támogatja a csésze képeket mind a memóriában, mind a lemezen. Alapértelmezés szerint az AM mennyisége, amelyet használnak, nem korlátozott, és a felhasználók maguk is meghatározhatják az értéket.
Download & Cache képek a Swift könyvtáron keresztül
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])
Image Viewing belül Swift alkalmazások
A Kingfisher könyvtár lehetővé teszi a szoftverprogramozók számára, hogy könnyedén bevonják a képmegtekintési képességet az alkalmazásukba. A legegyszerűbb módja annak, hogy egy képnézetet hozzon létre, UIImageView kiterjesztést használ. A könyvtár le fogja tölteni a képet URL-ről, és vezetni fogja mind a memóriatartály, mind a lemezkazetta, és megjeleníti azt imageView-ben. Amikor az utóbbi felhasználók ugyanazt a URL-et hívják, azonnal visszaszerzi és megjeleníti a képet a gyorsítótárból. Emellett számos olyan funkciót is támogat, amely olyan képekhez kapcsolódik, mint a letöltési kép, a placeholder, a kerek sarokkép, és így tovább.
Képek megtekintése a Swift alkalmazásokon belül
import Kingfisher
let url = URL(string: "https://example.com/image.png")
imageView.kf.setImage(with: url)
Manuálisan tárolja vagy eltávolítja a cache képeket
A nyílt forráskódú Swift könyvtár Kingfisher lehetővé teszi a programozók számára, hogy tárolják, valamint eltávolítsák a képeket a gyorsítótárból. Alapértelmezés szerint a kiterjesztési módszerek használhatók a visszakeresett kép tárolására a gyorsítótárba. De manuálisan megteheti a cache.store() módszert. Átadhatja a kép eredeti adatait is, amelyek segítik a könyvtárat abban, hogy meghatározza, hogy melyik formát kell tárolni. Támogatást nyújt továbbá a gyorsítótárból való kézi eltávolításhoz. Támogatja továbbá az összes gyorsadalmat, jelentse a lemeztároló méretet és hozzon létre saját tortát.
Képek megtekintése a Swift alkalmazásokon belül
//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)
}
}