大佬教程收集整理的这篇文章主要介绍了ios – 滚动Swift时tableView值的重复,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
timingsArray在tableView中用于显示时序
timingsArray类型timingObj
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! }
例如星期二和星期四只有时间
问题是当我向上和向下滚动时,周二的定时值在周三重复,当我继续滚动时,定时值在其他单元格中也会重复
有任何想法吗?先感谢您
因此,在重用队列中的单元格时,您正在执行的操作是检索已创建和配置的单元格.对创建的单元格所做的更改也将应用于重用的单元格,这些单元格在重新使用的单元格不再可见时立即滚动显示.这意味着您必须重新分配要覆盖的任何值,这些值是您要显示的唯一单元格的自定义,如果没有要显示的内容/空字符串,这也适用.否则,您将获得随机的结果.
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!))" } else{ //change label to empty String when reusing cell.timeLabel.text = ""; } return cell
以上是大佬教程为你收集整理的ios – 滚动Swift时tableView值的重复全部内容,希望文章能够帮你解决ios – 滚动Swift时tableView值的重复所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。