Ios UITableViewCells重复内容时出现问题

Ios UITableViewCells重复内容时出现问题,ios,swift,uitableview,Ios,Swift,Uitableview,我的应用程序向用户显示本地公交车发车情况。但是,如下面的屏幕截图所示,在滚动后,当夜间公交车开始在其他服务中显示红色“N”时,另外,路线编号开始出错。滚动时,路线号在其余时间都是正确的,只有在夜间巴士出现时才会正确 这是我为设置路线编号而执行的代码 case "N3", "N7", "N11","N16","N22","N25","N26","N30","N31","N34", "N37","N44","N98", "N106","N113","N124": var route = NS

我的应用程序向用户显示本地公交车发车情况。但是,如下面的屏幕截图所示,在滚动后,当夜间公交车开始在其他服务中显示红色“N”时,另外,路线编号开始出错。滚动时,路线号在其余时间都是正确的,只有在夜间巴士出现时才会正确

这是我为设置路线编号而执行的代码

case "N3", "N7", "N11","N16","N22","N25","N26","N30","N31","N34", "N37","N44","N98", "N106","N113","N124":

var route = NSMutableAttributedString()

route = NSMutableAttributedString(string: departureRoutes[0].rawString()!)

route.addAttribute(NSAttributedStringKey.foregroundColor, value: UIColor.red, range: NSRange(location:0,length:1))

route.addAttribute(NSAttributedStringKey.foregroundColor, value: UIColor.white, range: NSRange(location:1,length:(departureRoutes[0].string?.count)! - 1))

cell.route.setAttributedTitle(route, for: .normal)       

default : 

cell.route.tintColor = routeColor(routeno: departureRoutes[0].rawString()!)

Mohamed Mostafa在评论中建议的解决方案是重置UIButton的值,并使用

cell.route.setAttributedTitle(NSMutableAttributedString(string: "\(departureRoutes[indexPath.row + 1])"), for: .normal)

然后在此

表格视图单元格重新使用后执行切换代码。仅在“cellForRowAtIndexPath”中设置单元格UI元素值,并记住设置所有UI元素值,这样值就不会从一个单元格滚动到下一个单元格。@FryAnEgg此代码在cellForRowAt Indexpath中运行,就像前面提到的@FryAnEgg一样,每次都需要设置单元格中的每个视图。当用户滚动时,当单元格被重用时,任何由于条件代码而未设置的内容都将保持不变。典型错误:-)您能提供整个cellForRow函数和格式良好的代码吗?正如它所示,route是一个UIButton,我想您有时会设置title&其他设置AttributedTitle,在设置值之前,应通过空字符串重置title和AttributedTitle