有人请求帮助我使用这种语法吗? 这是协议实现:
extension ViewController: CustomCellDelegate {
func cellStateToggled(cell: CustomCell) {
guard let cellIndex = self.tableView.indexPath(for: cell) else { return }
activeIndex = activeIndex == cellIndex ? nil : cellIndex
tableView.reloadData()
}
}
我需要帮助理解的是这条特殊的路线:
activeIndex = activeIndex == cellIndex ? nil : cellIndex
我理解第二部分,三元条件运算符,但我不确定第一部分是做什么的:
activeIndex = activeIndex
它们如何结合在一起?
谢谢!
答案 0 :(得分:4)
更好地理解
1
2
3
6
这意味着如果activeIndex = ( activeIndex == cellIndex ) ? nil : cellIndex
等于cellIndex
,则将nil分配给activeIndex
,否则分配activeIndex
,这是
cellIndex