Uitableview 更新异步加载图像的高度

Uitableview 更新异步加载图像的高度,uitableview,swift3,Uitableview,Swift3,我想要这样: 我使用的是一个自定义的UITableViewCell,在这里我可以从单元格内与Alamofire异步下载图像 图像在从UITableviewController中加载单元格后显示 有些图像不存在。因此,如果没有图像,单元格应该折叠并仅显示文本 当图像出现时,如何调整单元格大小? (所有图像应以相同的高度和全宽显示 我已经在我的TableViewController中尝试过类似的内容: func tableView(_ tableView: UITableView, heightF

我想要这样:

我使用的是一个自定义的
UITableViewCell
,在这里我可以从单元格内与Alamofire异步下载图像

图像在从
UITableviewController
中加载单元格后显示

有些图像不存在。因此,如果没有图像,单元格应该折叠并仅显示文本

当图像出现时,如何调整单元格大小? (所有图像应以相同的高度和全宽显示

我已经在我的TableViewController中尝试过类似的内容:

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
    return 80
}

func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
    return UITableViewAutomaticDimension
}
但结果非常糟糕:


如果要在检索图像时调整单元格大小,而不是异步更新图像视图,则应更新图像缓存,然后重新加载与该单元格关联的行,此时可以直接而不是异步更新图像视图的图像。因此,
reloadRows
方法应该放在我的
Viewcontroller
中的
cellForRowAt indexath:
方法中?但是Viewcontroller如何知道单元格内的调用已被处理以重新加载单元格?我的fetch方法在cell类本身中。