Ios 为什么UIImage';是否部分加载到TableViewCells中?

Ios 为什么UIImage';是否部分加载到TableViewCells中?,ios,swift,uitableview,uiimageview,Ios,Swift,Uitableview,Uiimageview,我有一张桌子。首先,我从数据库中加载所有单元格的文本数据。接下来,我从另一个数据库加载每个单元格的图像。但当我试图设置图像时,它们不会显示 如果我使用 let cell = myTableView.dataSource?.tableView(myTableView, cellForRowAt: indexPath) as? MyTableViewCell 然后图像只加载到不可见的单元格中。这意味着我第一次看到的单元格

我有一张桌子。首先,我从数据库中加载所有单元格的文本数据。接下来,我从另一个数据库加载每个单元格的图像。但当我试图设置图像时,它们不会显示

如果我使用

let cell = myTableView.dataSource?.tableView(myTableView,
                                       cellForRowAt: indexPath) as? MyTableViewCell
然后图像只加载到不可见的单元格中。这意味着我第一次看到的单元格(在向下滚动之前)不会显示它们的图像。但其他人都是这样

另一种方法,如果我使用

let cell = myTableView.cellForRow(at: indexPath) as? MyTableViewCell
然后相反的情况发生了——只有我看到的那些细胞显示它们的图像,而其他所有的细胞都没有

之后我会

cell.setImage(image: image)

我没有在
func tableView(tableView:UITableView,cellForRowAt indexath:indexPath)->UITableViewCell{…}
中设置图像,因为正如我所说,图像是在创建单元格之后出现的。

加载之后,需要在主线程中刷新表视图。您可以通过以下方式完成:

DispatchQueue.main.async {
            self.yourTableView.reloadData()
        }

你可以在获得图像后重新加载数据,你是对的。我只是在设置文本数据后才这样做,而在接收图像后没有这样做
DispatchQueue.main.async {
            self.yourTableView.reloadData()
        }