我正在尝试在带有列的表格视图中显示从XML下载的图像。
我必须使用UITableView
,否则我将立即使用UICollectionView
进行此类功能。我能够从XML下载图像,并在自定义UIStackview
中以UIImageView
填充UITableViewCell
来显示列。问题是两列仅显示第一个下载的图像。我需要以某种方式区分这些图像并将它们添加到特定的位置。解决此问题的最佳做法是什么?
编辑:我通过将下载的图像传递到单元格并更新UI来解决此问题。但是我对其他方法是否更好仍然感到好奇。
for i in startInterval...self.currentBookIndex {
group.enter()
let url = URL(string: books[i].thumbNailURL!)!
URLSession.shared.dataTask(with: url, completionHandler: { (imgData, response, error) in
if error != nil {
print(error!)
return
}
DispatchQueue.main.async(execute: {() -> Void in
if cell.tag == indexPath.row {
let tmpImage = UIImage(data: imgData!)
if let image = tmpImage {
downLoad.append(image)
}
cell.bookImage = tmpImage
cell.updateUI(withIndex: self.currentBookIndex, imageWithURL: url)
}
})
self.group.leave()
}).resume()
self.group.notify(queue: .main) {
print(downLoad.count)
}
在下载数组中有正确的图像,我需要在UIImageView中显示它们。如果我有2列,则始终仅显示2中的第一个。预先感谢。