![](https://products-qa.fileformat.com/az/image/swift/kingfisher/header-image.png)
Kingfisher
Şəkilləri Yükləmək və Keşləmək üçün Pulsuz Swift Kitabxanası
Proqram tərtibatçılarına veb tətbiqlərində uzaqdan şəkillərlə işləməyə imkan verən açıq mənbə Swift API. O, şəkilləri endirməyə və keş etməyə, şəkil prosessorları və filtrləri tətbiq etməyə imkan verir.
Kingfisher, Swift kodundan istifadə edərək çoxsaylı şəkil fayl formatları ilə işləmək üçün tam funksionallıq təmin edən yüngül, təmiz Swift tətbiqidir. Kitabxana tərtibatçılara şəkilləri uzaqdan asanlıqla idarə edə bilən proqramlar yaratmağa kömək edir. Kitabxana asinxron şəkildə yükləyir və öz tətbiqləri daxilində şəkilləri keşləyir. Kitabxana yüklənmiş şəkillər üçün çox qatlı keşi dəstəkləyir ki, bu da proqramların işini əhəmiyyətli dərəcədə artırır. Bu o deməkdir ki, şəkillər həm yaddaşda, həm də diskdə saxlanacaq, ona görə də onu yenidən yükləməyə ehtiyac qalmayacaq.
Kitabxananı idarə etmək çox asandır və keşin idarə edilməsi üçün bir imkan təqdim edir. İstifadəçilər keşin ölçüsünü və müddətini asanlıqla təyin edə bilərlər. O, həmçinin istifadəçilərə kitabxananın həddən artıq çox resursdan istifadəsinin qarşısını almağa kömək edən avtomatik keş təmizləmə qurğusu təqdim edəcək. Başqa bir əla xüsusiyyət tapşırığın ləğvi üçün daxil edilmişdir. İstifadəçilər artıq lazım deyilsə, yükləmə və ya şəkil bərpa prosesini asanlıqla ləğv edə bilərlər.
Kingfisher kitabxanası tərtibatçıların ehtiyaclarına uyğun olaraq şəkillərin yüklənməsi və təsvirin keşləşdirilməsi komponentlərindən ayrıca istifadə etməyə kömək edir. Hətta Swift kodundan istifadə edərək öz ehtiyaclarınıza uyğun olaraq öz keşinizi yarada bilərsiniz. Lazımsız disk əməliyyatlarından qaçaraq disk keşinin performansını yaxşılaşdırır. Kitabxana açıq mənbədir və MIT Lisenziyası altında mövcuddur.
Kingfisher ilə işə başlamaq
Aşağıdakı əmrdən istifadə edərək ən son mənbələri klonlayın
GitHub vasitəsilə Kingfisher-i quraşdırın.
$ git submodule add https://github.com/onevcat/Kingfisher.git
Swift Kitabxanası vasitəsilə Şəkilləri Yükləyin və Keşləyin
Şəkli proqramlı şəkildə yükləmək və URL-dən istifadə edərək onu önbelleğe saxlamaq çox çətin bir işdir. Açıq mənbəli Swift kitabxanası Kingfisher proqram tərtibatçılarına şəkilləri öz proqramlarında səmərəli şəkildə endirməyi və keş saxlamağı asanlaşdırır. Kitabxana şəkilləri həm yaddaşda, həm də diskdə keşləşdirməni dəstəkləyir. Varsayılan olaraq, istifadə ediləcək RAM miqdarı hətta məhdud deyil və istifadəçilər dəyəri özləri təyin edə bilərlər.
Swift Kitabxanası vasitəsilə Şəkilləri Yükləyin və Keşləyin
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])
Swift Tətbiqlərində Şəkillərə Baxma
Kingfisher kitabxanası proqram proqramçılarına asanlıqla öz tətbiqi daxilində şəkillərə baxmaq qabiliyyətini daxil etməyə imkan verir. Şəkil görünüşünü təyin etməyin ən asan yolu UIImageView uzantısından istifadə etməkdir. Kitabxana şəkli URL-dən endirəcək və onu həm yaddaş keşinə, həm də disk keşinə aparacaq və onu imageView-də göstərəcək. Sonuncu istifadəçilər eyni URL-ə zəng etdikdə, o, dərhal şəkli keşdən götürəcək və göstərəcək. O, həmçinin şəkillərlə əlaqəli bir neçə funksiyanı dəstəkləyir, məsələn, yükləmə şəklinin solması, yer tutucunun göstərilməsi, dəyirmi künc şəkli və s.
Swift Proqramları daxilində Şəkillərə baxın
import Kingfisher
let url = URL(string: "https://example.com/image.png")
imageView.kf.setImage(with: url)
Keş şəkillərini əl ilə saxlayın və ya silin
Kingfisher-in açıq mənbəli Swift kitabxanası proqramçılara şəkilləri asanlıqla saxlamağa və keşdən silməyə imkan verir. Varsayılan olaraq, görüntü uzadılması üsulları əldə edilmiş şəkli avtomatik olaraq önbelleğe saxlamaq üçün istifadə edilə bilər. Ancaq bunu cache.store() metodu ilə əl ilə edə bilərsiniz. Siz həmçinin kitabxanaya şəklin hansı formatda saxlanmalı olduğunu müəyyən etməyə kömək edən təsvirin orijinal məlumatlarını ötürə bilərsiniz. O, həmçinin müəyyən bir görüntünü keşdən əl ilə silmək üçün dəstək verir. O, həmçinin bütün keş məlumatlarının təmizlənməsini, disk yaddaşının ölçüsünü bildirməyi və öz keşinizi yaratmağı dəstəkləyir.
Swift Proqramları daxilində Şəkillərə baxın
//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)
}
}