![](https://products-qa.fileformat.com/el/image/swift/kingfisher/header-image.png)
Kingfisher
Δωρεάν Swift Library για λήψη και αποθήκευση εικόνων στην προσωρινή μνήμη
API ανοιχτού κώδικα Swift που επιτρέπει στους προγραμματιστές λογισμικού να εργάζονται με απομακρυσμένες εικόνες μέσα στις εφαρμογές ιστού τους. Επιτρέπει τη λήψη και την προσωρινή αποθήκευση εικόνων, την εφαρμογή επεξεργαστών και φίλτρων εικόνας.
Η Kingfisher είναι μια ελαφριά εφαρμογή Swift που παρείχε πλήρη λειτουργικότητα για την εργασία με πολλαπλές μορφές αρχείων εικόνας χρησιμοποιώντας κώδικα Swift. Η βιβλιοθήκη βοηθά τους προγραμματιστές να δημιουργήσουν εφαρμογές που μπορούν να χειριστούν απομακρυσμένα τις εικόνες με ευκολία. Η βιβλιοθήκη διαθέτει ασύγχρονα downloads καθώς και κάμερες μέσα στις δικές τους εφαρμογές. Η βιβλιοθήκη υποστηρίζει μια cache πολλαπλών επιπέδων για τις κατεβασμένες εικόνες που ενισχύουν σημαντικά την απόδοση των εφαρμογών. Αυτό σημαίνει ότι οι εικόνες θα αποθηκευτούν στη μνήμη καθώς και στο δίσκο, οπότε δεν χρειάζεται να το κατεβάσετε ξανά.
Η βιβλιοθήκη είναι πολύ εύκολη στον χειρισμό και παρέχει μια διευκόλυνση για τη διαχείριση της κρυφής μνήμης. Οι χρήστες μπορούν εύκολα να ορίσουν το μέγεθος καθώς και τη διάρκεια της κρυφής μνήμης. Θα παρέχει επίσης μια δυνατότητα αυτόματης καθαρισμού της κρυφής μνήμης που βοηθά τους χρήστες να εμποδίσουν τη βιβλιοθήκη να χρησιμοποιεί πάρα πολλούς πόρους. Ένα άλλο εξαιρετικό χαρακτηριστικό περιλαμβάνεται για την ακύρωση εργασιών. Οι χρήστες μπορούν εύκολα να ακυρώσουν τη διαδικασία λήψης ή ανάκτησης εικόνας, εάν δεν χρειάζονται πλέον.
Η βιβλιοθήκη Kingfisher διευκολύνει τους προγραμματιστές να χρησιμοποιούν τα στοιχεία λήψης εικόνων και ανίχνευσης εικόνων ξεχωριστά ανάλογα με τις ανάγκες τους. Μπορείτε ακόμη και να δημιουργήσετε τη δική σας cache σύμφωνα με τις δικές σας ανάγκες χρησιμοποιώντας κώδικα Swift. Βελτιώνει την απόδοση cache του δίσκου αποφεύγοντας περιττές λειτουργίες του δίσκου. Η βιβλιοθήκη είναι ανοιχτού κώδικα και είναι διαθέσιμη υπό την άδεια πληροφορικής.
Ξεκινώντας με το Kingfisher
Κλωνοποιήστε τις πιο πρόσφατες πηγές χρησιμοποιώντας την ακόλουθη εντολή
Εγκαταστήστε το Kingfisher μέσω GitHub.
$ git submodule add https://github.com/onevcat/Kingfisher.git
Download "Εικόνες και εικόνες από τη Βιβλιοθήκη Swift"
Είναι πολύ δύσκολο να κατεβάσετε προγραμματικά μια εικόνα και να την αποθηκεύσετε για να cache χρησιμοποιώντας ένα URL. Η βιβλιοθήκη Swift καθιστά εύκολο για τους προγραμματιστές λογισμικού να κατεβάζουν και να αποθηκεύουν εικόνες μέσα στις δικές τους εφαρμογές. Η βιβλιοθήκη υποστηρίζει την αποθήκευση εικόνων τόσο στη μνήμη όσο και στο δίσκο. Από προεπιλογή, το ποσό της AM που θα χρησιμοποιηθεί δεν είναι καν περιορισμένο και οι χρήστες μπορούν να ορίσουν την αξία τους.
Download "Εικόνες και εικόνες από τη Βιβλιοθήκη 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])
Προβολή εικόνων στο εσωτερικό των εφαρμογών Swift
Η βιβλιοθήκη Kingfisher επιτρέπει στους προγραμματιστές λογισμικού να συμπεριλαμβάνουν την ικανότητα προβολής εικόνων μέσα στην εφαρμογή τους με ευκολία. Ο ευκολότερος τρόπος για να ρυθμίσετε μια προβολή εικόνας είναι χρησιμοποιώντας την επέκταση UIImageView. Η βιβλιοθήκη θα κατεβάσει την εικόνα από το URL και θα την οδηγήσει σε μνήμη cache και cache δίσκου, και θα την εμφανίσει σε imageView. Όταν οι τελευταίοι χρήστες καλέσουν το ίδιο URL, θα ανακτήσει αμέσως και θα εμφανίσει την εικόνα από cache. Υποστηρίζει επίσης διάφορες λειτουργίες που σχετίζονται με εικόνες, όπως η ξεθώριαση της εικόνας λήψης, η προβολή τοποθεσίας, η εικόνα στρογγυλής γωνίας και ούτω καθεξής.
Εικόνες μέσα στις εφαρμογές Swift
import Kingfisher
let url = URL(string: "https://example.com/image.png")
imageView.kf.setImage(with: url)
Αποθηκεύστε ή αφαιρέστε εικόνες Cache
Η βιβλιοθήκη Swift επιτρέπει στους προγραμματιστές να αποθηκεύουν και να αφαιρούν εικόνες από την κρυφή μνήμη με ευκολία. Από προεπιλογή, οι μέθοδοι επέκτασης προβολής μπορούν να χρησιμοποιηθούν για την αποθήκευση της ανακτημένης εικόνας σε προσωρινή μνήμη αυτόματα. Αλλά μπορείτε να το κάνετε χειροκίνητα με τη μέθοδο cache.store(). Μπορείτε επίσης να περάσετε τα αρχικά δεδομένα της εικόνας που βοηθούν τη βιβλιοθήκη να καθορίσει σε ποια μορφή θα πρέπει να αποθηκευτεί η εικόνα. Παρέχει επίσης υποστήριξη για την χειροκίνητη αφαίρεση μιας συγκεκριμένης εικόνας από την cache. Υποστηρίζει επίσης την εκκαθάριση όλων των δεδομένων cache, την αναφορά του μεγέθους του δίσκου και τη δημιουργία της δικής σας cache.
Εικόνες μέσα στις εφαρμογές 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)
}
}