我正在从Firebase传递字符串格式的URL来加载图像,URL传递得很好,但是cell.articleImage.sd_setImage(with:url,placeholderImage:UiImage(named:“ issaimage”))没有返回网址中的图片,只是占位符图片
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
guard let cell = tableView.dequeueReusableCell(withIdentifier: "articleCell") as? articlesCell else {
return UITableViewCell()}
let article = articleArray[indexPath.row]
let url = URL(string: article.imageURL)!
cell.articleImage.sd_setImage(with: url, placeholderImage: UIImage(named: "issaimage"))
cell.configureCell(title: article.ArticleTitle, author: article.author, date: article.date)
return cell
}
答案 0 :(得分:3)
此代码不允许我使用image变量
let image = UIImage(data: imageData)
因为它是局部变量,如果您希望它可以在类内部的任何地方访问,则它必须是实例变量
也不要使用Data(contentsOf: url)
,因为它会阻塞主线程,将其下载到后台队列中,然后在主队列中显示出来,或者在使用pod安装后直接使用SDWebImage
let url = URL(string: article.imageURL)!
cell.imageView.sd_setImage(with: url, placeholderImage: UIImage(named: "placeholder.png"))