更改属性值为True的UITableViewCell文本颜色

时间:2015-07-07 14:06:14

标签: ios swift uitableview core-data

我有一个名为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

1 个答案:

答案 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
}