senza che sto usando AlamofireImage per impostare un'immagine su un UIImageView in un UITableViewCell in questo modo:AlamofireImage af_setImageWithURL in un UITableViewCell un'immagine segnaposto
cell.imageView.af_setImageWithURL(url)
L'immagine non mostra dopo il download. Mostrerà l'immagine la seconda volta quando viene caricata dalla memoria cache.
Sembra che l'uso di un'immagine segnaposto faccia la differenza.
questo funziona e stampa l'indirizzo dell'immagine (scaricati):
cell.imageView.af_setImageWithURL(URL, placeholderImage: UIImage(named: "placeholder"), filter: nil, imageTransition: .None, completion: { (response) -> Void in
print("image: \(cell.imageView.image)")
})
Questo non funziona e stampe "immagine: nil"
cell.imageView.af_setImageWithURL(URL, placeholderImage: nil, filter: nil, imageTransition: .None, completion: { (response) -> Void in
print("image: \(self.image)")
})
Funziona anche quando si impostano le cellule ImageView a un'immagine vuota prima di fare af_setImageWithURL:
cell.imageView.image = UIImage()
Si tratta di un bug in UITableViewCell, AlamofireImage o sto facendo qualcosa di sbagliato?
Sembra che le dimensioni di cell.imageView corrispondano di conseguenza, a seconda che esista o meno un'immagine. Se non c'è immagine, riduce la sua cornice per non occupare spazio. Quindi, quando non usi un segnaposto, pensa che non ci sia immagine, quindi si ritira. Quindi, quando l'immagine arriva in modo asincrono, la cornice è già ridotta, quindi da nessuna parte per mettere l'immagine. – Harris