Снятие флажка с " проверенной ячейки"


Я создал простой tableview, где вы можете проверить задачу, которая завершена. Код для этого конкретного свойства выглядит следующим образом:

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {

    let mySelectedCell: UITableViewCell = tableView.cellForRowAtIndexPath(indexPath)!
    mySelectedCell.accessoryType = UITableViewCellAccessoryType.Checkmark
    mySelectedCell.tintColor = UIColor.blackColor()


}
Проблема в том, что я не могу снять эти ячейки, как только они будут проверены. Кто-нибудь знает, как это свойство добавляется?

Любые мысли о том, как действовать дальше, будут оценены.

EDIT: теперь я знаю, что есть необходимость в операторе if, но я не знаю, как проверить, была ли моя ячейка уже проверена.

2   2   2014-12-21 22:14:29

2 ответа:

Если вы хотите сделать простой on-off только для эстетики...

if (mySelectedCell.accessoryType = UITableViewCellAccessoryType.Checkmark) {
    mySelectedCell.accessoryType = UITableViewCellAccessoryType.None
}
else {
    mySelectedCell.accessoryType = UITableViewCellAccessoryType.Checkmark
}

Если вы хотите сделать это на основе свойства...

if (!myValue[indexPath.row].value) { // if the BOOL is NO
    mySelectedCell.accessoryType = UITableViewCellAccessoryType.None
}
else {
    mySelectedCell.accessoryType = UITableViewCellAccessoryType.Checkmark
}

Вы не можете снять его, потому что он присваивает галочку каждый раз, когда он вызывается, а не чередуется. Используйте оператор if, чтобы увидеть, установлен ли флажок и переключаться между типами аксессуаров checkmark и none.