Отменить сеанс не работает
В настоящее время я занимаюсь учебным курсом от Apple. Начните разработку приложений для iOS.
На странице Tutorial: Storiesboards (ссылка выше) мне сказали сделать пользовательские классы для двух видов. Для простоты я назову их Table View (имеет таблицу) и Add View (имеет текстовое поле для добавления элементов в таблицу).
В представлении "Таблица" есть кнопка, которая открывает ссылку "Добавить вид", а "Добавить вид" имеет две кнопки на панели навигации: "Отмена" и "Готово".
Мне сказали написать пустой метод unwindToList
в.m файле Add View:
- (IBAction)unwindToList:(UIStoryboardSegue *)segue
{
}
Затем мне сказали связать обе кнопки "Отмена" и "Готово" к элементу "Выход" в "Сценовой доке" (см. unwindToList
внизу) и выбрать метод unwindToList
. В результате, это то, что должно произойти, как указано в учебнике:
Теперь запустите приложение. При запуске вы видите табличный вид, но в нем нет данных. Вы можете нажать кнопку "Добавить" и перейти к [Добавить вид] из [Вид таблицы]. Вы можете нажать кнопки "Отмена" и "Готово", чтобы вернуться к [Вид таблицы] ".
Однако, когда я нажимаю Отменить или Готово, ничего не происходит вообще. Я уверен, что оба связаны.
Заранее спасибо!
Ответы
Ответ 1
Если вы внимательно прочитаете учебник, вы увидите, что метод размотки должен находиться в UIViewController
который вы UIViewController
- из учебника -
Снятие развязки создается путем добавления метода действия к контроллеру представления назначения (контроллер просмотра, который вы хотите отключить).
...
Поскольку вы хотите вернуться в XYZToDoListTableViewController, вам необходимо добавить метод действия с этим форматом в интерфейс XYZToDoListTableViewController и реализацию.
Таким образом, вы должны создать свой метод unwindToList
в контроллере табличного представления, а не в контроллере представления добавления.
Ответ 2
Мой опыт заключается в том, что метод разматывания в возвращаемом контроллере должен существовать до того, как вы примените segue.