Swift 中 didSelectRowAt 函数的 Switch 语句

Switch Statement on didSelectRowAt Function in Swift

我正在使用 table 视图 并且在其单元格中有一个 label。我想要的是在每次点击单元格时更改单元格标签。我知道 switch 语句在 indexPath 上不起作用。我希望案例 1 和案例 2 有效。

这是我的代码:

 func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
 
  let cell = tableView.cellForRow(at: indexPath)

 switch Value {
            
        case 1:
            
            cell.cellLabel.text = "first time label changes"
        case 2:
            
            cell.cellLabel.text = "second time label changes"
            
        default:
            cell.cellLabel.text = "change the label"
        }

} 

有没有人有解决方案,如果我第一次点击一个单元格,情况 1 应该工作,如果我再次点击它,情况 2 应该工作?

try my code

var count = 0
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
count += 1
let cell = tableView.cellForRow(at: indexPath)
switch count {   
    case 1:
        cell.cellLabel.text = "first time label changes"
    case 2:
        cell.cellLabel.text = "second time label changes"
        
    default:
        cell.cellLabel.text = "change the label"
    }
} 

如果你在触摸3次时需要“第一”

 var count = 0
 func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
   count += 1
   if count > 2 {
    count = 1
   }
   let cell = tableView.cellForRow(at: indexPath)
   switch count {   
   case 1:
     cell.cellLabel.text = "first time label changes"
   case 2:
     cell.cellLabel.text = "second time label changes"
   default:
     cell.cellLabel.text = "change the label"
  }
} 
var selectedRows = [Int]()
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath){
       
            selectedRows.append(indexPath.row)
            print(selectedRows)
            self.tableView.reloadData()
        }
    }
    
    func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath) {
       
            if let index = selectedRows.firstIndex(of: indexPath.row) {
                selectedRows.remove(at: index)
            }
            print(selectedRows)
           self.tableView.reloadData()
            if selectedRows.isEmpty{
               
            }
        }
    }
class TableViewCell: UITableViewCell{
 override func setSelected(_ selected: Bool, animated: Bool) {
            super.setSelected(selected, animated: animated)
            if (selected) {
                print("selected")
                
                selectImage.image = UIImage(named:"secondImage")
              } else {
                  selectImage.image = UIImage(named:"secondImage")
              }
        }
}

如果需要多选写tableView.allowMultipleSelection = true