我是swift的新手,目前正在制作个人应用,
我正在尝试加载此图片 my image url
之后我在我的表视图上使用此代码来加载图像
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
}
但不是图像,屏幕看起来像这样 screen image
任何帮助将不胜感激
答案 0 :(得分:0)
首先,在实施tableView时,您需要在 viewDiLoad 中设置tableView的委托和数据源 像这样。
yourTableView.datasource = self
yourTableView.delegate = self
在此之前你需要像这样扩展你的tableView,我想你已经这样做了。
现在来到图像的下载部分。在您是新手时,下载此图像的过程不正确。
<强>为什么吗
其次你的视图可能处于挂起状态,因为如果你的图像很大,那么显示图像需要时间。所以可能是这样,你看不到任何东西,或者你的视图也不会加载。
如何解决此问题?
使用异步方式下载图像。您要下载的任何内容都在 viewDidAppear 中调用它。
是否有任何库作为快捷方式?
是。使用SDWebImage。这是一个很棒的图书馆。你不必考虑所有的事情。它已经完成了这项工作。你所要做的就是打电话。就像这样。
imageView.sd_setImage(with: URL(string: "yourdomainpathforImage"), placeholderImage: UIImage(named: "placeholder.png"))
查看此内容