iOS - UIStoryboardSegue обнаруживает ячейку таблицы и открывает viewController? - PullRequest
8 голосов
/ 21 февраля 2012

Итак, у меня есть UITableView, и ячейки подключены к UIStoryboardSegue, чтобы открыть новый UIViewController.После нажатия на ячейку prepareForSegue get вызывается, и все работает нормально.

ВОПРОС: В следующем методе как узнать, каков indexPath выбранной ячейки в моем TableView?

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    ObjectDetailViewController *mvc = [segue destinationViewController];
    // PassingObject *obj = [self.array objectAtIndex: ? ];
    mvc.passingObject = obj;
}

Ответы [ 2 ]

18 голосов
/ 21 февраля 2012
- (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];
}
6 голосов
/ 02 октября 2012

Вместо [self.tableView indexPathForSelectedRow] (посмотрите на ответ DJPlayer) вы можете использовать [self.tableView indexPathForCell: sender], так как отправитель является выбранной ячейкой в ​​этом случае.

...