didSelectRowAtIndexPath и segues - PullRequest
       6

didSelectRowAtIndexPath и segues

3 голосов
/ 08 февраля 2012

Я работаю с раскадровкой. Я сомневаюсь относительно использования segues при вставке нового UItableViewController в стек навигации. Как это сделать правильно? Нет проблем, когда толчок происходит из-за касания в ячейке и используется ли didSelectRowAtIndexPath? Пожалуйста, поделитесь своим мнением.

1 Ответ

7 голосов
/ 08 февраля 2012

Вы вообще не упоминаете об этом, но, судя по вашему упоминанию о segue, вы используете раскадровку.

При использовании раскадровки есть новый способ показать новый контроллер вида. Подключив UITableViewCell, используя seque, к новому контроллеру представления в Интерфейсном Разработчике. Когда вы делаете это, нет необходимости использовать didSelectRowAtIndexPath:, потому что новый контроллер представления будет отображаться автоматически. Однако вы можете подготовить segue и установить параметры на новом контроллере вида, например:

- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    // assumes only one type, more extensive checking before cast to 
    // make it safer is needed.
    MyViewController *viewController = (MyViewController *) segue.destinationViewController;

    viewController.detailObject = myModelObject;
}

Для любой ячейки таблицы, которая не подключена с помощью segue, вы можете указать свое собственное поведение, используя обычный tableView:didSelectRowAtIndexPath:.

Не существует правильного пути, просто используйте то, что вам кажется более простым.

...