Asynchronous 在异步中加载映像并在主线程中更新表格单元格

Asynchronous 在异步中加载映像并在主线程中更新表格单元格,asynchronous,swift4,xcode9-beta,Asynchronous,Swift4,Xcode9 Beta,当我尝试以异步方式从URL加载图像并在主线程中呈现它们时,出现以下错误 UIImageView.image只能从主线程使用 仅当我按下tableView中的单元格时,图像才会更新(并且仅针对该特定按钮): DispatchQueue.global().sync不会在主线程中执行闭包。那么如何使用从URL接收的数据更新我的视图呢?有什么建议吗?一个非常著名的习惯用法应该有用:DispatchQueue.main.async。谢谢!这修复了问题DispatchQueue.global().sync不

当我尝试以异步方式从URL加载图像并在主线程中呈现它们时,出现以下错误

UIImageView.image只能从主线程使用

仅当我按下tableView中的单元格时,图像才会更新(并且仅针对该特定按钮):


DispatchQueue.global().sync
不会在主线程中执行闭包。那么如何使用从URL接收的数据更新我的视图呢?有什么建议吗?一个非常著名的习惯用法应该有用:
DispatchQueue.main.async
。谢谢!这修复了问题
DispatchQueue.global().sync
不会在主线程中执行闭包。那么如何使用从URL接收的数据更新我的视图呢?有什么建议吗?一个非常著名的习惯用法应该有用:
DispatchQueue.main.async
。谢谢!这解决了问题
func updateUI(partyRock: PartyRock) {
    videoTitle.text = partyRock.videoTitle
    let url = URL(string: partyRock.imageURL)!

    DispatchQueue.global().async {
        do {
            let data = try Data(contentsOf: url)
            DispatchQueue.global().sync {
                self.videoPreviewImage.image = UIImage(data: data)
            }
        } catch  {
            // handle error
        }
    }
}