Swift का उपयोग करके iOS में इमेज लोड करने के लिए हम सिंपल डेटा टास्क सेशन का उपयोग करेंगे। इमेज को बैकग्राउंड में लोड करने की आवश्यकता होती है क्योंकि यह किसी भी साइज की हो सकती है और हम नहीं चाहते कि यह हमारे मेन व्यू के ऑपरेशन्स को रोके।
उदाहरण के साथ समझें
चरण 1: प्रोजेक्ट सेटअप
एक खाली प्रोजेक्ट बनाएं और एक खाली इमेज व्यू जोड़ें। इसका आउटलेट बनाएं और फिर हम URL से इमेज प्राप्त करने का कोड लिखेंगे।

चरण 2: बेसिक कोड
func getData(from url: URL, completion: @escaping (Data?, URLResponse?, Error?) -> ()) {
URLSession.shared.dataTask(with: url, completionHandler: completion).resume()
}
func downloadImage(from url: URL) {
getData(from: url) { data, response, error in
guard let data = data, error == nil else { return }
DispatchQueue.main.async() {
self.image = UIImage(data: data)
}
}
}
जब हम इस कोड को चलाते हैं, तो यह URL से इमेज डाउनलोड करेगा, हम एक इमेज ऑब्जेक्ट बना सकते हैं और अपने imgView को नए ऑब्जेक्ट से इनिशियलाइज़ कर सकते हैं।
चरण 3: एक्सटेंशन के रूप में बेहतर तरीका
extension UIImageView {
func getData(from url: URL, completion: @escaping (Data?, URLResponse?, Error?) -> ()) {
URLSession.shared.dataTask(with: url, completionHandler: completion).resume()
}
func downloadImage(from url: URL) {
getData(from: url) { data, response, error in
guard let data = data, error == nil else { return }
DispatchQueue.main.async() {
self.image = UIImage(data: data)
}
}
}
}
चरण 4: viewDidLoad में उपयोग करें
override func viewDidLoad() {
super.viewDidLoad()
let url = URL(string: "https://static.independent.co.uk/s3fs-public/thumbnails/image/2017/09/12/11/naturo-monkey-selfie.jpg?w968h681")
self.imgView.downloadImage(from: url!)
}
जब हम इस कोड को अपने डिवाइस पर चलाते हैं, तो हमें निम्न परिणाम मिलता है।
