2016-10-18 5 views
1

Ich habe eine sehr einfache iOS App - sie hat TableView und eine Liste von benutzerdefinierten Zellen in diesem TableView. Es gibt eine ImageView (die downloadedFrom Methode, um Bilder zu laden) in jeder Zelle.Bilder werden nicht richtig geladen

Nachdem ich meinen Xcode auf Version 8 aktualisiert und das Projekt auf Swift 2.3 umgestellt habe, habe ich ein sehr interessantes Ergebnis bekommen, wenn ich die Liste der Elemente in TableView neu lade - die ersten Zellen auf dem Bildschirm haben keine Bilder und wenn ich anfange nach unten zu scrollen sehen Sie, dass andere Bilder gut geladen sind. Beim Zurückblättern nach oben - alle Bilder sind in Ordnung.

Ich habe auch versucht, die Art des Ladens von Bildern in die Bibliothek namens SDWebImage ändern, aber das Ergebnis ist das gleiche. Was ist falsch?

extension UIImageView { 
func downloadedFrom(link link:String, contentMode mode: UIViewContentMode) { 
    guard 
     let url = NSURL(string: link) 
     else {return} 
    contentMode = mode 
    NSURLSession.sharedSession().dataTaskWithURL(url, completionHandler: { (data, response, error) -> Void in 
     guard 
      let httpURLResponse = response as? NSHTTPURLResponse where httpURLResponse.statusCode == 200, 
      let mimeType = response?.MIMEType where mimeType.hasPrefix("image"), 
      let data = data where error == nil, 
      let image = UIImage(data: data) 
      else { return } 
     dispatch_async(dispatch_get_main_queue()) {() -> Void in 
      self.image = image 
     } 
    }).resume() 
}} 
+0

SDWebImage funktioniert perfekt, wenn Sie brauchen, dann lade ich meinen Code, den ich verwende –

+0

Ich bin sicher, dass es gut funktioniert, aber es zeigt das gleiche Verhalten: erste Zellen haben keine Bilder, bis ich scroll – moonvader

+0

Dann Platzhalter für verwenden Dies . Es zeigt Ihnen Ihr Platzhalterbild, bis Ihr Bild nicht heruntergeladen und nicht in die Bildansicht geladen wurde. –

Antwort

1

Das Problem lag nicht in der Lade-Methode, sondern in abgerundeten Ecken von Bildern. Das Problem mit abgerundeten Ecken in Xcode 8 und iOS 10 kann found here sein.

Verwandte Themen