didSelectRowAtIndexPath no funciona, Swift 3

¿Alguien puede ver por qué en el mundo didSelectRowAtIndexPath no se llamaría? He revisado tres veces por delegate tanto en el código como en el guión gráfico.

 class AddCard: UIViewController,UIPopoverPresentationControllerDelegate, UITableViewDataSource, UITableViewDelegate { @IBOutlet weak var cardView: UIView! @IBOutlet weak var tableView: UITableView! let tableItems = ["Background Color","Background Image","Font Style","Font Color"] let cellID = "cell" override func viewDidLoad() { super.viewDidLoad() tableView.delegate = self tableView.dataSource = self } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } func setBackgroundColor (_ color: UIColor) { cardView.backgroundColor = color } func numberOfSectionsInTableView(tableView: UITableView) -> Int { return 1 } func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return tableItems.count } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: cellID, for: indexPath as IndexPath) let row = indexPath.row cell.textLabel?.text = tableItems[row] return cell } func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: IndexPath) { tableView.deselectRow(at: indexPath as IndexPath, animated: true) print(indexPath.row) let row = indexPath.row switch(row){ case 0: let popoverVC = storyboard?.instantiateViewController(withIdentifier: "colorPickerVC") as! ColorPickerViewController popoverVC.modalPresentationStyle = .popover popoverVC.preferredContentSize = CGSize(width: 284, height: 446) if let popoverController = popoverVC.popoverPresentationController { popoverController.sourceView = self.view popoverController.sourceRect = CGRect(x: 0, y: 0, width: 85, height: 30) popoverController.permittedArrowDirections = .any popoverController.delegate = self popoverVC.delegate = self } present(popoverVC, animated: true, completion: nil) break default: break } } } 

Swift 3 modificó la firma del método (muchos métodos también, nuevas “reglas” / estilo)

Reemplazar:
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: IndexPath) con
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)

Observe el _ , el didSelectRowAt vs didSelectRowAtIndexPath , como los otros que actualizó (que también se adaptó el mismo “estilo”), pero no este.

Elimine la línea y deje que XCode realice el autocompletado. De lo contrario, puedes reemplazarlo por el del doc.