我有一个名为Item
的实体,其名称为completed
。我在自定义Item
中显示所有UITableView
个对象。然后我有一个函数将Cell对象属性completed
设置为true
,然后将文本颜色设置为灰色。
直到我离开视图控制器时才能正常工作。在加载表视图控制器时,如何使属性true
的值为completed
的所有对象都具有灰色的单元格标签文本颜色?
这是我更改值并使单元格变为灰色的操作:
cellCompletedAction = {(tableView: customTableView, cell: customTableViewCell) -> Void in
let delegate:AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
let context: NSManagedObjectContext = delegate.managedObjectContext!
let indexPath = tableView.indexPathForCell(cell)
let currentCell = tableView.cellForRowAtIndexPath(indexPath!) as! customTableViewCell!;
currentCell.textLabel?.textColor = UIColor.lightGrayColor
self.itemsArray()[indexPath!.row].completed = true
var error: NSError? = nil
if !context.save(&error) { abort() }
tableView.bounce(cell, duration: 0.3, bounce: 0.3, completion: nil)
}
将数据加载到表格视图:
cell.textLabel?.text = itemsArray[indexPath.row].title
答案 0 :(得分:1)
你不能在cellForRowAtIndexPath
办理入住手续吗?像这样:
let cell = ... // dequeuing your cell
let item = ... // getting the object for this cell
if item.completed == true {
cell.textLabel?.textColor = UIColor.lightGrayColor
}