मेरे पास मेरी छवि से खाली url string है। मैं अपनी url string छवि को firestore में रखता हूं। लेकिन कभी-कभी ऐसा होता है कि कोई छवि नहीं है और मुझे एक चेक बनाने और एक खाली छवि वापस करने की आवश्यकता है।

जब मैं अपना दृश्य लोड करता हूं तो मुझे एक त्रुटि मिलती है nil। क्योंकि firestore में मेरा वेरिएबल खाली है।

यह मेरा कोड है:

guard let dataLogoImage = try? Data(contentsOf: URL(string: self.hall!.studioHallLogo)!) else { return }

और बाद में मैं dataLogoImage को वेरिएबल tempLogoImage पर लागू करता हूं।

self.tempLogoImage = UIImage(data: dataLogoImage)

मैं Data या खाली url स्ट्रिंग की जांच कैसे करूं और nil से कैसे बचूं?

-2
Дмитрий Деникаев 16 जिंदा 2019, 17:56

1 उत्तर

सबसे बढ़िया उत्तर

डेविड सही है। तो यहाँ URLSession.dataTask उपयोग का एक नमूना है। यह आपके लिए काम करना चाहिए।

if let urlString = self.hall?.studioHallLogo,
let url = URL(string: urlString) {

    let task = URLSession.shared.dataTask(with: url) { data, response, error in
        guard let data = data, error == nil else { return }

        // execute on main thread
        DispatchQueue.main.async {
            self.tempLogoImage = UIImage(data: data)
        }
    }

    task.resume()
}

जैसा कि आप देख सकते हैं, हम आपकी वैकल्पिक सामग्री को सुरक्षित रूप से खोल रहे हैं, जैसे self.hall?.studioHallLogo, और आपके URL ऑब्जेक्ट का निर्माण। :) जल्द ही आपको छवि लोडिंग को बेहतर ढंग से और कैशिंग के साथ संभालने के लिए एक पुस्तकालय की आवश्यकता होगी। मुझे सुझाव देना अच्छा लगेगा: किंगफिशर

मैं इस उम्मीद में हूँ की इससे मदद मिलेगी। आपको कामयाबी मिले।

1
Glenn Posadas 16 जिंदा 2019, 18:17