如何从URL解析图像并在UITableViewCell中将它们显示为列?

时间:2019-05-04 17:26:31

标签: ios swift xcode uitableview

我正在尝试在带有列的表格视图中显示从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中的第一个。预先感谢。

0 个答案:

没有答案
相关问题