Размотка перехода не запускается

У меня есть раскадровка с начальным контроллером представления, который представляет другие контроллеры модального представления.

Скажем, контроллер представления A является начальным ViewController, а контроллер представления B является модально представленным контроллером представления.

Как я могу вызвать переход от B обратно к A, от ViewController A (а не только от кнопки, расположенной на ViewController B)?

Кнопка работает для выполнения раскрутки, но когда я пытаюсь выполнить ее программно, используя

[self performSegueWithIdentifier:@"ReturnToStart" sender:self]

возникает ошибка:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Receiver (<StartViewController: 0x1ed4b9b0>) has no segue with identifier 'ReturnToStart''

Чего я не понимаю, так это того, что переход раскрутки работает нормально, когда я нажимаю кнопку на контроллере модального представления, но переход просто не может быть найден, когда я пытаюсь запустить его из другого ViewController (идентификатор правильный в раскадровке ).

Есть ли способ получить доступ ко всем переходам из моего начального ViewController или моя структура в корне неверна?


person BigAl    schedule 06.05.2013    source источник


Ответы (1)


Переход «принадлежит» источнику View Controller, поэтому вы получаете это сообщение об ошибке. Переходы предназначены для вызова из исходного контроллера представления.

Если вы хотите отклонить viewControllerB от A, не используйте переход, просто используйте:

dismissViewControllerAnimated:completion:
person rdelmar    schedule 06.05.2013
comment
Спасибо, я думал, что каким-то образом все переходы могут быть доступны для всех контроллеров представления, содержащихся в раскадровке. - person BigAl; 07.05.2013
comment
Спасибо. Выяснилось, что вы можете использовать метод performSegueWithIdentifier только в том случае, если вы подключили свои контроллеры представления к раскадровке. Если вы создали экземпляр представления программно, вам нужно использовать это. - person inorganik; 13.08.2014