2017-07-04 1 views
1

Herunterladen I DispatchQueue.global() verwenden Bilder von URLs herunterzuladen, die in einer Array-URL gespeichert sind, das sind die Schritte:Optional wurde nil gefunden, wenn Bild mit DispatchQueue swift 3

Array of urls --> let data = contentsOf: array[url] --> display img 

aber ich ein Fehler wie, überprüfen Sie das Bild unten:

Problem

und das ist, was heraus kommt drucken:

fatal error: unexpectedly found nil while unwrapping an Optional value 

Code im Textformat:

func updateView(){ 

    for i in 0..<testArray1.count { 

     let ImgUrl = URL (string: testArray1[i])! 

     DispatchQueue.global().async { 

      do { 

       let data = try Data(contentsOf: ImgUrl) 
       DispatchQueue.global().sync { 

        self.imgArr.append(UIImage(data: data)!) 

       } 

      } catch { 
       //handle the error 
      } 
     } 

    } 
} 

hoffen, dass diese Sie mir helfen können helfen.

danken Ihnen im fortgeschrittenen

Antwort

0

Es ist möglich, dass Sie diese Daten bekommen, aber nicht um das Bild zu erstellen, ist fehlgeschlagen. Versuchen Sie, diese

 DispatchQueue.global().sync { 
      for i in 0..<testArray1.count { 
       let imgUrl = URL(string: testArray1[i])! 

       do { 
        let data = try Data(contentsOf: imgUrl as URL) 
        if let image = UIImage(data: data) { 
         imgArr.append(image) 
        } 
       } catch { 
        print("Unable to load data: \(error)") 
       } 
      } 
     } 
+0

Dies funktioniert gut, aber ich bin Grabbing 162 Bilder aus dem Array und die Urls online sind, ist es trotzdem, um die Bilder anzuzeigen, die auf dem Bild-Array hinzugefügt wurde, während die anderen heruntergeladen werden? @Lawliet –

+0

Nun, es klingt wie eine andere Frage, aber trotzdem können Sie ein Cachespeicher-Array erstellen, um die Bilder zu speichern und anzuzeigen, was Sie geladen haben. Werfen Sie einen Blick auf dieses Beispiel http://www.kaleidosblog.com/uicollectionview-image-gallery-download-and-display-images-inside-the-cell – Lawliet

+0

Yh ich kenne eine andere question entschuldigung –

Verwandte Themen