কম্পিউটার টিউটোরিয়াল

Swift-এ URL দিয়ে iOS ডিভাইসে ইমেজ লোড করা


iOS-এ Swift ব্যবহার করে ইমেজ লোড করতে আমরা সিম্পল ডেটা টাস্ক সেশন ব্যবহার করব। ইমেজটিকে ব্যাকগ্রাউন্ডে লোড করতে হবে কারণ এর সাইজ যেকোনো হতে পারে এবং আমরা চাই না আমাদের মেইন ভিউয়ের অপারেশন বন্ধ হয়।

উদাহরণের সাহায্যে দেখি। একটি খালি প্রজেক্ট তৈরি করুন এবং একটি খালি Image View যোগ করুন।

তার আউটলেট তৈরি করুন এবং তারপর URL থেকে ইমেজ পাওয়ার কোড লিখব। এখানে আমাদের অ্যাপ্লিকেশন ফিলহাল নিচের মতো দেখাচ্ছে।

Swift-এ URL দিয়ে iOS ডিভাইসে ইমেজ লোড করা

এখন URL থেকে ইমেজ পাওয়ার কোড যোগ করুন।

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-কে নতুন অবজেক্ট দিয়ে ইনিশিয়ালাইজ করতে পারি।

আরো ভালোভাবে এক্সটেনশন বানিয়ে ব্যবহার করি।

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)
            }
        }
    }
}

এখন 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!)
}

এই কোড ডিভাইসে রান করলে নিচের ফলাফল मिलবে।

Swift-এ URL দিয়ে iOS ডিভাইসে ইমেজ লোড করা


  1. iOS-এ UIWebView-এ PDF লোড করার পদ্ধতি

  2. Picasso লাইব্রেরি ব্যবহার করে অ্যান্ড্রয়েডে URL থেকে ImageView-এ ছবি লোড করার পদ্ধতি

  3. Keras-এ ইমেজ লোড করে দেখানোর পদ্ধতি

  4. iTunes দিয়ে আপনার iOS ডিভাইস সফলভাবে ব্যাকআপ নেওয়ার ধাপে ধাপে গাইড