我有一个模型
在 ImageViewURL 中我得到一张照片并将其保存在 ImageView 中,以及用于下载的代码
import Foundation
import UIKit
class Modal:NSObject {
var name:String?
var date:String?
var ImageViewURL = ""
var ImageView:UIImage?
var stmp: Int?
var id: String?
var text:String?
}
当你点击一个单元格时,placeholderImage 被传输,当我返回后,向上并点击照片正在更改的同一个单元格
Let u = URL (string: "link" + (modals [indexPath.row] .ImageViewURL))
cell.ImageView.sd_setImage (with: u, placeholderImage: UIImage (named: "loading"))
self.modals [indexPath.row] .ImageView = cell.ImageView.image!
问题是如何运行
self.modals method [indexPath.row] .ImageView = cell.ImageView.image! Before loading placeholderImage
所有代码
var modals = [Modal]()
override func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return modals.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if modals.count == 0 {
return UITableViewCell()
}
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! TableViewCell
cell.date?.text = modals[indexPath.row].date
cell.name?.text = modals[indexPath.row].name
let u = URL(string: "http://www.---.com" + (modals[indexPath.row].ImageViewURL))
cell.ImageView.sd_setImage(with: u, placeholderImage: UIImage(named: "loading"))
self.modals[indexPath.row].ImageView = cell.ImageView.image!
return cell
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
self.navigationController?.navigationBar.topItem?.title = ""
let vc = segue.destination as? ViewControllerDetail
vc?.detail = modals[(tableView.indexPathForSelectedRow?.row)!]
}
image1 image 2
最佳答案
单元格图像是否正在单元格中更新索引路径处的行?
TableView 旨在重用单元格。单元格离开屏幕后,作为进入屏幕的单元格重新使用。每次需要一个单元格时,都会调用索引路径方法中的行单元格。如果您不更新单元格中的图像以获取索引路径处的行,您可能仍会看到“旧”图像。
关于ios - 当你点击一个单元格时,placeholderImage 被传输,当我返回后,向上并点击照片正在更改的同一个单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42890603/