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
在这里的目的是什么?我知道
!
此处的意思是而不是,但是我无法理解这部分代码。 最佳答案
row0checked = !row0checked
的作用是取相反的值,例如:
如果选中了第一行并按了它,它将被取消选中。
因此,如果row0checked
是true
并且您运行row0checked = !row0checked
,那么row0checked
将是false
,反之亦然。
这样做是为了检查/取消选中清单项目,并通过设置cell.accessoryType
显示它。
关于ios - 给自己设置一个 boolean 变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39423933/