Kingfisher
Resimleri İndirmek ve Önbelleğe Almak için Ücretsiz Swift Kitaplığı
Yazılım geliştiricilerin web uygulamalarında uzak görüntülerle çalışmasına olanak tanıyan açık kaynaklı Swift API'si. Görüntüleri indirmeye ve önbelleğe almaya, görüntü işlemcileri ve filtreler uygulamaya olanak tanır.
Kingfisher Swift kodu kullanarak birden fazla görüntü dosyası formatı ile çalışmak için tam işlevsellik sağlayan hafif bir Swift uygulamasıdır. Kütüphane, geliştiricilere uzaktan görüntüleri kolaylıkla idare edebilecek uygulamaları oluşturmaya yardımcı olur. Kütüphane, kendi uygulamaları içinde önbellekli görüntüler olarak da adlandırılır. Kütüphane, uygulamaların performansını inanılmaz derecede artıran indirilmiş görüntüler için birden katmanlı bir önbellek destekler. Bu, görüntüler hafızada da diskte önbelleklenecek, böylece tekrar indirmeye gerek yok.
Kitaplığın kullanımı çok kolaydır ve önbellek yönetimi için bir olanak sağlar. Kullanıcılar, önbelleğin boyutunu ve süresini kolayca ayarlayabilir. Ayrıca, kullanıcıların kitaplığın çok fazla kaynak kullanmasını engellemesine yardımcı olan otomatik bir önbellek temizleme olanağı da sağlayacaktır. Görev iptali için harika bir özellik daha eklendi. Kullanıcılar artık gerekmediğinde indirme veya görüntü alma işlemini kolayca iptal edebilir.
Kingfisher kütüphanesi, ihtiyaçlarına göre görüntü indirme ve görüntü çekme bileşenlerini ayrı kullanmak için geliştiricileri kolaylaştırır. Swift kodunu kullanarak kendi ihtiyaçlarınıza göre kendi önbellekinizi bile oluşturabilirsiniz. Disk önbellek performansını gereksiz disk operasyonlarından kaçınarak geliştirdim. Kütüphane açık kaynaktır ve IT Lisansı altında mevcuttur.
Kingfisher'a Başlarken
Aşağıdaki komutu kullanarak en son kaynakları klonlayın
Kingfisher'ı GitHub aracılığıyla yükleyin.
$ git submodule add https://github.com/onevcat/Kingfisher.git
Swift Kütüphanesi aracılığıyla Download & Cache Images
Bir görüntüyü programlamak ve URL'i önbelleklemek için çok zor bir görevdir. Açık kaynak Swift kütüphanesi Kingfisher, yazılım geliştiricilerinin kendi uygulamaları içinde verimli bir şekilde indirmek ve önbellek görüntüler için kolaylaştırmaktadır. Kütüphane hem hafızada hem de disk üzerinde caching görüntüleri destekler. Varsayılan olarak, kullanılacak AM miktarı bile sınırlı değildir ve kullanıcılar değerlerini kendileri belirleyebilir.
Swift Kütüphanesi aracılığıyla Download & Cache Images
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 inside Swift Apps
Kingfisher kütüphanesi, yazılım programcıların uygulamalarında kolaylıkla görüntü izleme yeteneklerini dahil etmesini sağlar. Bir görüntü görünümü oluşturmak için en kolay yol UIImageView uzantısını kullanıyor. Kütüphane URL'den görüntüyü indirecek ve hem hafıza önbelleğine hem de disk önbelleğine yol açacak ve onu imageView'te gösterecektir. İkinci kullanıcılar aynı URL aradığında, görüntüyü önbellekten derhal alır ve gösterecektir. Ayrıca, fading indir görüntü gibi görüntülerle ilgili birkaç işlevi de destekler, yer sahibi, yuvarlak köşe imajını gösterir ve böylece devam eder.
Swift Apps içinde Fotoğraflar
import Kingfisher
let url = URL(string: "https://example.com/image.png")
imageView.kf.setImage(with: url)
Manually Store veya Take Cache Images
Açık kaynak Swift kütüphanesi Kingfisher, programcıların görüntülerini kolayca önbellekten çıkarmasını sağlar. Varsayılan olarak, görüntü uzatma yöntemleri otomatik olarak önbellek için alınan resmi depolamak için kullanılabilir. Ancak bunu manuel olarak önbellek.store() yöntemi ile yapabilirsiniz. Ayrıca, kütüphanenin görüntünün hangi formatta depolanmasına yardımcı olan görüntünün orijinal verilerini de geçebilirsiniz. Ayrıca önbellekten belirli bir görüntü çıkarmak için destek sağlar. Ayrıca tüm önbellek verileri, disk depolama boyutunu ve sizi kendi önbellek yaratmayı da destekliyor.
Swift Apps içinde Fotoğraflar
//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)
}
}