我理解单元格正在被重用,因此当再次呈现单元格时,我的if语句出现问题。但我不明白为什么if语句会在向上滚动时导致单元格发生变化。
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = self.tableView.dequeueReusableCellWithIdentifier("ExploreTableViewCell", forIndexPath: indexPath) as! ExploreTableViewCell
// Configure the cell
let rowIndex = self.dataArray.count - (indexPath.row + 1)
let newsRowObj = self.dataArray[rowIndex] as NewsHeadline
cell.newsTitle.text = newsRowObj.source
if (newsRowObj.source == "reddit") {
cell.newsTitle.textColor = UIColor.redColor()
}
return cell
}
当source == "reddit"
文本设置为红色时。但当我向上滚动时,细胞随机变红。
答案 0 :(得分:2)
这是因为您正在重复使用某些“reddit”单元格而不处理新单元格没有处理的情况。您需要在将else
设置回原始颜色的位置添加textColor
处理。
答案 1 :(得分:0)
==