Ich brauche hier mehr Informationen. Welche Klasse enthält die Tabelle, welche Klasse ist der Tableview-Delegat?
Im einfachsten Fall arbeiten Sie in einer einzigen Klasse. Dann wäre es [self.navigationController pushViewController: xyz]
.
Aber wenn Sie Ihre eigene subclassed UITableViewCells haben, dann müssen Sie zwischen der Zelle Klasse und der Viewcontroller kommunizieren. Sie könnten dies über die Einstellung einer Eigenschaft in der Zellklasse oder über Ihren eigenen customCell-Delegaten tun.
Sie können auch einfach eine Benachrichtigung senden ( [[NSNotificationCenter defaultCenter] postNotification: @"cellButtonTouchedNotification"]
), auf die Ihr viewController hört ( [[NSNotificationCenter defaultCenter] addListener: self target: @selector(...) name: @"cellButtonTouchedNotification"]
). In diesem Fall könnten Sie die Eigenschaft userInfo verwenden, um sich zu merken, welche Zelle berührt wurde.
Eine andere Möglichkeit besteht darin, die Taste von außen zugänglich zu machen (z. B. ein Grundstück). Dann könnten Sie das Ziel in der Methode Ihres tableViewDelegate hinzufügen cellForRowAtIndexPath:
. So etwas wie [myCustomCell.button addTarget: self selector: @selector(...)];
Sie können Tags verwenden, um die Zeile zu identifizieren myCustomCell.button.tag = indexPath.row
.