табличное представление выбора новых представлений - PullRequest
0 голосов
/ 09 января 2012

Вот код, который у меня есть на данный момент:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *__strong)indexPath {
DetailViewController *detail = [self.storyboard instantiateViewControllerWithIdentifier:@"Detail"];
[self.navigationController pushViewController:detail animated:YES];

detail.rowNum.text = [NSString stringWithFormat:@"Image %d", (indexPath.row + 1)];

}

, который загружает один и тот же контроллер представления для каждой ячейки в моем табличном представлении. как мне заявить, что я хочу, чтобы это происходило только при выборе одной конкретной строки? так, например, я бы сделал выше, применимо только к строке с другим экземпляром для каждой дополнительной строки? в качестве альтернативы, это может быть сделано в разделе раскадровки XCode?

ОБНОВЛЕНИЕ: после ответа я обновил код до этого, который отлично работает, так что я думаю, что это нормально, если без него?

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *__strong)indexPath {
if (indexPath.row == 0) {
DetailViewController *detail = [self.storyboard instantiateViewControllerWithIdentifier:@"Detail"];
[self.navigationController pushViewController:detail animated:YES];

detail.rowNum.text = [NSString stringWithFormat:@"Image %d", (indexPath.row + 1)];
}

if (indexPath.row == 1) {
    DetailViewController *detail = [self.storyboard instantiateViewControllerWithIdentifier:@"Forum"];
    [self.navigationController pushViewController:detail animated:YES];

}

}

1 Ответ

1 голос
/ 09 января 2012

Проверьте, соответствует ли indexPath.row == строке, которую вы хотите. Вы можете сделать это только в раскадровке, если ваш стол статичен.

...