Kingfisher
Swift Library Percuma untuk Muat Turun & Cache Imej
API Swift sumber terbuka yang membolehkan pembangun perisian berfungsi dengan imej jauh di dalam apl web mereka. Ia membolehkan anda memuat turun dan menyimpan imej, menggunakan pemproses dan penapis imej.
Kingfisher ialah pelaksanaan Swift tulen ringan yang menyediakan fungsi lengkap untuk bekerja dengan berbilang format fail imej menggunakan kod Swift. Perpustakaan membantu pembangun untuk mencipta aplikasi yang boleh mengendalikan imej dari jauh dengan mudah. Perpustakaan memuat turun secara tidak segerak serta menyimpan imej di dalam aplikasi mereka sendiri. Perpustakaan menyokong cache berbilang lapisan untuk imej yang dimuat turun yang sangat meningkatkan prestasi aplikasi. Ini bermakna imej akan dicache dalam memori dan juga pada cakera jadi tidak perlu memuat turunnya semula.
Perpustakaan ini sangat mudah dikendalikan dan menyediakan kemudahan untuk pengurusan cache. Pengguna boleh menetapkan saiz serta tempoh cache dengan mudah. Ia juga akan menyediakan kemudahan pembersihan cache automatik yang membantu pengguna menghalang perpustakaan daripada menggunakan terlalu banyak sumber. Satu lagi ciri hebat disertakan untuk pembatalan tugas. Pengguna boleh membatalkan proses muat turun atau mendapatkan imej dengan mudah jika ia tidak diperlukan lagi.
Pustaka Kingfisher memudahkan pembangun menggunakan muat turun imej dan komponen caching imej secara berasingan mengikut keperluan mereka. Anda juga boleh membuat cache anda sendiri mengikut keperluan anda sendiri menggunakan kod Swift. Ia Meningkatkan prestasi cache cakera dengan mengelakkan operasi cakera yang tidak perlu. Perpustakaan adalah sumber terbuka dan boleh didapati di bawah Lesen MIT.
Bermula dengan Kingfisher
Klon sumber terkini dengan menggunakan arahan berikut
Pasang Kingfisher melalui GitHub.
$ git submodule add https://github.com/onevcat/Kingfisher.git
Muat Turun & Cache Imej melalui Perpustakaan Swift
Ia adalah tugas yang sangat sukar untuk memuat turun imej secara pemrograman dan menyimpannya ke cache menggunakan URL. Pustaka Swift sumber terbuka Kingfisher memudahkan pembangun perisian untuk memuat turun dan cache imej dengan cekap di dalam aplikasi mereka sendiri. Perpustakaan menyokong caching imej dalam memori dan juga pada cakera. Secara lalai, jumlah RAM yang akan digunakan tidak terhad dan pengguna boleh menetapkan nilai itu sendiri.
Muat Turun & Cache Imej melalui Perpustakaan 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])
Melihat Imej dalam Aplikasi Swift
Pustaka Kingfisher membenarkan pengaturcara perisian memasukkan keupayaan melihat imej dalam aplikasi mereka dengan mudah. Cara paling mudah untuk menetapkan paparan imej ialah menggunakan sambungan UIImageView. Pustaka akan memuat turun imej daripada URL dan membawanya ke cache memori dan cache cakera, dan memaparkannya dalam imageView. Apabila pengguna terakhir memanggil URL yang sama, ia akan segera mengambil dan memaparkan imej daripada cache. Ia juga menyokong beberapa fungsi yang berkaitan dengan imej seperti imej muat turun pudar, menunjukkan ruang letak, imej sudut bulat dan sebagainya.
Lihat Imej dalam Apl Swift
import Kingfisher
let url = URL(string: "https://example.com/image.png")
imageView.kf.setImage(with: url)
Simpan atau Alih Keluar Imej Cache Secara Manual
Pustaka Swift sumber terbuka Kingfisher membuat membolehkan pengaturcara menyimpan serta mengalih keluar imej daripada cache dengan mudah. Secara lalai, kaedah sambungan paparan boleh digunakan untuk menyimpan imej yang diambil ke cache secara automatik. Tetapi anda boleh melakukannya secara manual dengan kaedah cache.store(). Anda juga boleh menghantar data asal imej yang membantu pustaka menentukan dalam format mana imej harus disimpan. Ia juga menyediakan sokongan untuk mengeluarkan imej tertentu secara manual daripada cache. Ia juga menyokong mengosongkan semua data cache, melaporkan saiz storan cakera dan mencipta cache anda sendiri.
Lihat Imej dalam Apl Swift
//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)
}
}