将bool varibale设置为自身

时间:2016-09-10 07:56:00

标签: ios swift uitableview boolean

class ChecklistViewController: UITableViewController {
    var row0text = "Walk the dog"
    var row1text = "Brush teeth"
    var row2text = "Learn iOS development"
    var row3text = "Soccer practice"
    var row4text = "Eat ice cream"

    var row0checked = false
    var row1checked = false
    var row2checked = false
    var row3checked = false
    var row4checked = false

    override func tableView(tableView: UITableView,                       didSelectRowAtIndexPath indexPath: NSIndexPath) {
        if let cell = tableView.cellForRowAtIndexPath(indexPath) {
            if indexPath.row == 0 {
                row0checked = !row0checked
                if row0checked {
                    cell.accessoryType = .Checkmark
                } else {
                    cell.accessoryType = .None
                }
            } else if indexPath.row == 1 {
                row1checked = !row1checked
...

这里row0checked = !row0checked的目的是什么?

我知道!在这里意味着不是,但我无法理解这部分代码。

1 个答案:

答案 0 :(得分:3)

row0checked = !row0checked所做的是它取相反的值,例如:

如果选中第一行并按下它,则将取消选中。

因此,如果row0checkedtrue且您运行row0checked = !row0checked row0checked将为false,反之亦然。

这样做是为了检查/取消选中一个核对清单项,并通过设置cell.accessoryType来显示它。