iOS - UIStoryboardSegue检测表格单元格并打开viewController?

时间:2012-02-21 01:46:45

标签: ios uitableview storyboard uistoryboardsegue

所以我有一个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;
}

2 个答案:

答案 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],因为在这种情况下发件人是选定的单元格。