gpt4 book ai didi

ios - 滚动 Swift 时 tableView 的值重复

转载 作者:搜寻专家 更新时间:2023-10-31 21:50:03 24 4
gpt4 key购买 nike

我有一个 tableView 来显示工作日的时间

在tableView中使用timingsArray来显示计时

timingObj 类型的 timingsArray

class timingObj {
var dayNo: Int?
var open: String?
var close: String?
var dayName: String?

init(json: JSON){
// to take data from json
}

init(name: String, number: Int){
self.dayName = name
self.dayNo = number
}
}

在 tableView 中我想显示所有日期和它们的时间,如果这一天没有时间那么时间单元格将为空

let cell = tableView.dequeueReusableCellWithIdentifier("TimingsCell", forIndexPath: indexPath) as! timingCell     
let timings = self.Details!.timingsArray
let dayTime = timings[indexPath.row]
cell.dayLabel.text = dayTime.dayName
if dayTime.open != nil && dayTime.close != nil {
cell.timeLabel.text = "\(convertTimeFormat(dayTime.open!)) - \(convertTimeFormat(dayTime.close!))"
}
return cell

这是单元格的类

class timingCell: UITableViewCell {

@IBOutlet weak var dayLabel: UILabel!

@IBOutlet weak var timeLabel: UILabel!

}

例如星期二和星期四只有时间

问题是当我上下滚动时,星期二的计时值在星期三重复,当我继续滚动时,其他单元格的计时值也重复

有什么想法吗?提前谢谢你

最佳答案

您应该在您的自定义单元格类中实现prepareForReuse,在其中重置需要重置的内容。例如:

class timingCell: UITableViewCell {

@IBOutlet weak var dayLabel: UILabel!

@IBOutlet weak var timeLabel: UILabel!

func prepareForReuse() {
super.prepareForReuse()
cell.timeLabel.text = nil
cell.dayLabel.text = nil
}
}

关于ios - 滚动 Swift 时 tableView 的值重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34895095/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com