Kingfisher
छवियों को डाउनलोड करने और संचय करने के लिए निःशुल्क स्विफ्ट लाइब्रेरी
ओपन सोर्स स्विफ्ट एपीआई जो सॉफ्टवेयर डेवलपर्स को अपने वेब ऐप्स के अंदर दूरस्थ छवियों के साथ काम करने की अनुमति देता है। यह छवियों को डाउनलोड करने और कैश करने, छवि प्रोसेसर और फ़िल्टर लागू करने की अनुमति देता है।
किंगफिशर एक हल्का शुद्ध स्विफ्ट कार्यान्वयन है जो स्विफ्ट कोड का उपयोग करके कई छवि फ़ाइल स्वरूपों के साथ काम करने के लिए पूर्ण कार्यक्षमता प्रदान करता है। लाइब्रेरी डेवलपर्स को ऐसे एप्लिकेशन बनाने में मदद करती है जो आसानी से छवियों को दूर से संभाल सकते हैं। पुस्तकालय अतुल्यकालिक रूप से डाउनलोड करता है और साथ ही छवियों को अपने स्वयं के अनुप्रयोगों के अंदर कैश करता है। लाइब्रेरी डाउनलोड की गई छवियों के लिए एक बहु-परत कैश का समर्थन करती है जो ऐप्स के प्रदर्शन को अत्यधिक बढ़ाती है। इसका मतलब है कि छवियों को मेमोरी के साथ-साथ डिस्क पर भी कैश किया जाएगा, इसलिए इसे फिर से डाउनलोड करने की आवश्यकता नहीं है।
पुस्तकालय को संभालना बहुत आसान है और कैश प्रबंधन की सुविधा प्रदान करता है। उपयोगकर्ता आसानी से आकार के साथ-साथ कैश की अवधि भी निर्धारित कर सकते हैं। यह एक स्वचालित कैश सफाई सुविधा भी प्रदान करेगा जो उपयोगकर्ताओं को पुस्तकालय को बहुत अधिक संसाधनों का उपयोग करने से रोकने में मदद करता है। टास्क कैंसिलेशन के लिए एक और बेहतरीन फीचर शामिल है। उपयोगकर्ता आसानी से डाउनलोडिंग या छवि पुनर्प्राप्ति प्रक्रिया को रद्द कर सकते हैं यदि अब इसकी आवश्यकता नहीं है।
किंगफिशर लाइब्रेरी डेवलपर्स को उनकी जरूरतों के अनुसार अलग-अलग इमेज डाउनलोडिंग और इमेज कैशिंग घटकों का उपयोग करने की सुविधा प्रदान करती है। आप स्विफ्ट कोड का उपयोग करके अपनी आवश्यकताओं के अनुसार अपना स्वयं का कैश भी बना सकते हैं। यह अनावश्यक डिस्क संचालन से बचकर डिस्क कैश प्रदर्शन में सुधार करता है। पुस्तकालय खुला स्रोत है और एमआईटी लाइसेंस के तहत उपलब्ध है।
किंगफिशर के साथ शुरुआत करना
निम्नलिखित कमांड का उपयोग करके नवीनतम स्रोतों को क्लोन करें
गिटहब के माध्यम से किंगफिशर स्थापित करें।
$ git submodule add https://github.com/onevcat/Kingfisher.git
Swift Library
यह प्रोग्राममेटिक रूप से एक छवि डाउनलोड करने का एक बहुत ही मुश्किल काम है और इसे URL का उपयोग करके कैश करने के लिए स्टोर करता है। ओपन सोर्स स्विफ्ट लाइब्रेरी किंगफिशर सॉफ्टवेयर डेवलपर्स के लिए अपने स्वयं के अनुप्रयोगों के अंदर कुशलतापूर्वक डाउनलोड और कैश छवियों के लिए आसान बनाता है। पुस्तकालय स्मृति और डिस्क दोनों में कैशिंग छवियों का समर्थन करता है। डिफ़ॉल्ट रूप से, उपयोग किए जाने वाले AM की राशि भी सीमित नहीं है और उपयोगकर्ता स्वयं मूल्य निर्धारित कर सकते हैं।
Swift Library
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 Apps
किंगफिशर पुस्तकालय सॉफ्टवेयर प्रोग्रामर को आसानी से अपने आवेदन के अंदर छवि देखने की क्षमता शामिल करने की अनुमति देता है। एक छवि दृश्य की स्थापना के लिए सबसे आसान तरीका UIImageView एक्सटेंशन का उपयोग कर रहा है। पुस्तकालय URL से छवि डाउनलोड करेगा और इसे मेमोरी कैश और डिस्क कैश दोनों के लिए ले जाएगा और इसे imageView में प्रदर्शित करेगा। जब बाद के उपयोगकर्ता उसी URL को कहते हैं, तो यह तुरंत कैश से छवि को पुनर्प्राप्त और प्रदर्शित करेगा। यह छवियों से संबंधित कई कार्यों का भी समर्थन करता है जैसे कि लुप्तप्राय डाउनलोड छवि, प्लेसहोल्डर, राउंड कोने की छवि आदि।
Swift Apps
import Kingfisher
let url = URL(string: "https://example.com/image.png")
imageView.kf.setImage(with: url)
मैन्युअल रूप से कैश छवि को स्टोर या निकालें
ओपन सोर्स स्विफ्ट लाइब्रेरी किंगफिशर प्रोग्रामर को आसानी से कैश से छवियों को स्टोर करने और हटाने में सक्षम बनाता है। डिफ़ॉल्ट रूप से, दृश्य एक्सटेंशन विधियों का उपयोग स्वचालित रूप से कैश करने के लिए पुनः प्राप्त छवि को स्टोर करने के लिए किया जा सकता है। लेकिन आप इसे मैन्युअल रूप से कैशस्टोर () विधि के साथ कर सकते हैं। आप उस छवि के मूल डेटा को भी पास कर सकते हैं जो पुस्तकालय को यह निर्धारित करने में मदद करते हैं कि किस प्रारूप में छवि संग्रहीत की जानी चाहिए। यह मैन्युअल रूप से कैश से एक निश्चित छवि को हटाने के लिए समर्थन प्रदान करता है। यह सभी कैश डेटा को साफ़ करने, डिस्क स्टोरेज आकार की रिपोर्ट करने और आपको कैश बनाने का भी समर्थन करता है।
Swift Apps
//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)
}
}