我的表格視圖重用了以前的細胞圖像數據並顯示了以前細胞的圖像。我做了以下事情以防止重複使用。我錯過了什麼?如何阻止UITableView重複使用圖像單元格數據?
@IBAction func cityBtn(_ sender: UIButton) {
for i in stride(from: 0, to: assignCities.count, by: 1)
{ cityName.append(bigCities[i])
cityImages.append(bigCityImages[i])
}}
public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let myCell= tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! CityCell
myCell.myLabel.text = cityName[indexPath.row]
let cityImg = cityImages[indexPath.row]
myCell.myImage.image = nil
if (cityImg != "")
{
myCell.myImage.image = UIImage(named:cityImg)
}
else
{
myCell.myImage.image = nil
}
return myCell
}
import UIKit
class CityCell: UITableViewCell {
@IBOutlet weak var myImage: UIImageView!
@IBOutlet weak var myLabel: UILabel!
override func prepareForReuse() {
super.prepareForReuse()
myImage.image = nil
}
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
}
我做以上,但仍是沒有得到結果
是OK的行爲,要重複使用電池,因此它保持它的狀態,你需要重置它 –
我可以知道,如何重置它,因爲我所有的嘗試都是徒勞的。 – leaner122
你的代碼看起來不錯。你能打印你陣列的內容嗎?顯示您的numberOfRows方法以及您如何製作陣列。 – Saad