Размотать переход не работает

В настоящее время я делаю учебник из Apple начала разработку приложений для iOS.

На странице Tutorial: Storyboards (ссылка выше) мне сказали создать пользовательские классы для двух представлений. Для простоты я буду называть их табличным представлением (имеет таблицу) и добавлением представления (имеет текстовое поле для добавления элементов в таблицу).

В табличном представлении есть кнопка, которая открывает ссылку «Добавить представление», а в «Добавить представление» есть две кнопки на панели навигации: «Отмена» и «Готово».

Мне сказали написать пустой метод unwindToList в .m файле Add View:

- (IBAction)unwindToList:(UIStoryboardSegue *)segue
{

}

Затем мне сказали связать кнопки «Отмена» и «Готово» с элементом «Выход» в панели «Сцена» (см. изображение внизу) и выбрать метод unwindToList. В результате вот что должно произойти, как указано в учебнике:

Теперь запустите ваше приложение. При запуске вы видите табличное представление, но в нем нет данных. Вы можете нажать кнопку «Добавить» и перейти к [представлению добавления] из [представления таблицы]. Вы можете нажать кнопки «Отмена» и «Готово», чтобы вернуться к [табличному представлению]».

Однако, когда я нажимаю «Отмена» или «Готово», вообще ничего не происходит. Я уверен, что оба связаны.

Заранее спасибо!

Учебное изображение


person Fares K. A.    schedule 18.05.2014    source источник


Ответы (2)


Если вы внимательно прочитаете руководство, то увидите, что метод раскрутки должен быть в том UIViewController, к которому вы разматываете — из руководства —

Переход к раскрутке создается путем добавления метода действия к целевому контроллеру представления (контроллеру представления, к которому вы хотите выполнить раскрутку).

...

Поскольку вы хотите вернуться к XYZToDoListTableViewController, вам необходимо добавить метод действия с этим форматом в интерфейс и реализацию XYZToDoListTableViewController.

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

person Paulw11    schedule 18.05.2014
comment
Ах, моя ошибка! Благодарю вас! :) - person Fares K. A.; 18.05.2014
comment
Также не забудьте дважды проверить имя метода, который будет вызываться после перехода, по какой-то причине Xcode добавлял withSegue: в конец метода, и поэтому я не смог его выполнить. - person Fernando Mata; 07.10.2016
comment
Это звучит как быстрое изменение 3 - person Paulw11; 07.10.2016

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

person David    schedule 16.08.2014
comment
да! Мне было интересно, почему мой выход из системы иногда работал, но это потому, что я разрешаю пользователям автоматически входить в систему и никогда не загружаю мою страницу входа. - person Vivian; 16.04.2018