所以我有一个UITableView,并且单元格连接到UIStoryboardSegue以打开一个新的UIViewController。单击一个单元格prepareForSegue
后,调用一切正常。
问题:在下面的方法中,我怎么知道TableView中所选单元格的indexPath是什么?
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
ObjectDetailViewController *mvc = [segue destinationViewController];
// PassingObject *obj = [self.array objectAtIndex: ? ];
mvc.passingObject = obj;
}
答案 0 :(得分:18)
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
// Assume self.view is the table view
NSIndexPath *path = [self.tableView indexPathForSelectedRow];
DetailObject *detail = [self detailForIndexPath:path];
[segue.destinationViewController setDetail:detail];
}
答案 1 :(得分:6)
取代[self.tableView indexPathForSelectedRow](查看DJPlayer答案),您可以使用[self.tableView indexPathForCell:sender],因为在这种情况下发件人是选定的单元格。