UI图像未加载到表视图上



我是 swift 的新手,目前正在制作个人应用程序,

我正在尝试加载此图像 我的图片网址

之后,我在表视图上使用此代码来加载图像

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let url = posts[indexPath.row].message

let url1 = URL(string: url!)
let data = try? Data(contentsOf: url1!) //make sure your image in this url does exist, otherwise unwrap in a if let check / try-catch
MoviePoster.image = UIImage(data: data!)


self.tableView.reloadData()
return cell
}

但屏幕不是图像,而是这样的 屏幕图像

任何帮助将不胜感激

首先,在实现 tableView 时,您需要像这样在viewDiLoad中设置表视图的委托和数据源

yourTableView.datasource = self
yourTableView.delegate = self

在此之前,您需要像这样扩展表视图,我想您已经这样做了。

现在来到图像的下载部分。由于您是新手,因此下载此映像的过程不正确。

为什么?

  1. 您在cellForRowAtIndexPath中提到了reloadData(),这是完全错误的,只需检查在线答案即可。

其次,您的视图可能会进入挂起状态,因为如果您的图像很大,那么显示图像需要一些时间。所以可能是这样,你不会看到任何东西,或者你的视图也不会加载。

如何解决这个问题?

使用异步方式下载图像。任何你想下载的东西都在viewDidAppear中调用它。

有没有库作为快捷方式?

是的。使用 SDWebImage。这是一个很棒的图书馆。你不必考虑所有的事情。它已经完成了这项工作。您所要做的就是打电话。就像这样。

imageView.sd_setImage(with: URL(string: "yourdomainpathforImage"), placeholderImage: UIImage(named: "placeholder.png"))

从这里查看这个。

相关内容

  • 没有找到相关文章

最新更新