Sie sollten stattdessen wirklich diese Methode verwenden:
CGPoint buttonPosition = [sender convertPoint:CGPointZero toView:self.tableView];
NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint:buttonPosition];
Schnelle Version:
let buttonPosition = sender.convert(CGPoint(), to:tableView)
let indexPath = tableView.indexPathForRow(at:buttonPosition)
Dadurch erhalten Sie die indexPathbasierend auf der Position der Taste, die gedrückt wurde. Dann würden Sie einfach anrufen, cellForRowAtIndexPathwenn Sie die Zelle benötigen oder indexPath.rowwenn Sie die Zeilennummer benötigen.
Wenn Sie paranoid sind, können Sie dies überprüfen, if (indexPath) ...bevor Sie es verwenden, falls das indexPathfür diesen Punkt in der Tabellenansicht nicht gefunden wird.
Alle anderen Antworten werden wahrscheinlich nicht funktionieren, wenn Apple beschließt, die Ansichtsstruktur zu ändern.