有一個UITableView
的職位。
已看到帖子的ID保存在sqlite中
我想顯示,看到帖子是橙色,其他人是黑色。
但是,當我在willDisplayCell
方法中設置看到後的橙色時,某些單元格的顏色不正確,否則打印日誌(「Color it」)是正確的。UITableView的不良行爲willDisplayCell方法
override func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
let post = postDataSource.posts[indexPath.row]
print(post.id)
let cellPost = cell as? PostListViewCell
if post.isRead.boolValue == true {
print("Color it")
cellPost!.body.textColor = UIColor.orangeColor()
cellPost!.title.textColor = UIColor.orangeColor()
}
}
例如,如果只看到一個帖子,「Color it」會被打印一次。這是正確的。但其他一些單元格在沒有「彩色」日誌的情況下顏色爲橙色。
爲什麼不使用CellForRowAtIndexPath對單元格進行樣式設置的具體原因? –
使用自定義單元格 – Developer
@SandeepBhandari我在DataSource中使用了CellForRowAtIndexPath,我不想在DataSource中設置樣式 –