2016-09-25 3 views
0

Ich möchte Bilder vom Firebase-Speicher herunterladen und in die Tabellenansicht laden, aber es funktioniert nicht. Mein downloadUrl ist richtig und es gibt keinen Fehler.UITableViewCell Bild wird nicht geladen

URLSession.shared.dataTask(with: downloadURL) { (data, response, error) in 
     if error != nil { 
      print(error?.localizedDescription) 
      return 
     } 
     DispatchQueue.main.async { 
      if let downloadedImage = UIImage(data: data!) { 
       cell.imageView?.image = downloadedImage 
      } 
     } 
    } 
+0

Was funktioniert nicht? Haben Sie einen Fehler? Haben Sie versucht, Breakpoints zu verwenden, um zu sehen, was dabei fehlschlägt? Ist die Zelle null? Ist das Bild leer? Könnten Sie näher erläutern, was Sie * wissen * in Ordnung ist und wo Sie glauben, dass das Problem beginnt? Damit können wir etwas anfangen :) –

+0

Zelle ist nicht null und Bild ist nicht leer und ich habe keinen Fehler. Ich möchte das Bild in meiner Tabellenansicht anzeigen, aber das Bild wird nicht angezeigt. –

+0

Versuchen Sie, Ihr Bild im Versand oder etwas anderes zu drucken, und sehen Sie, ob Sie es drucken können. – Dravidian

Antwort

0

Warum nicht einfach Firebase Storage built in download mechanisms dafür verwenden?

let httpsReference = FIRStorage.storage().referenceForURL('https://firebasestorage.googleapis.com/b/bucket/o/images%20stars.jpg') // your download URL 
httpsReference.dataWithMaxSize(1 * 1024 * 1024) { (data, error) -> Void in 
    if (error != nil) { 
    // Uh-oh, an error occurred! 
    } else { 
    // Data for "images/stars.jpg" is returned 
    let starsImage: UIImage! = UIImage(data: data!) 
    cell.imageView.image = starsImage // by default, callbacks are raised on the main thread so this will work 
    } 
}