Bezdepbonusu7Программирование: статьи и ответы

Вопрос

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

Автор вопроса: Fares K. A.Ответов: 2

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

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

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

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

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

}

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

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

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

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

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

iosobjective-csegue

Ответы

Ответ 1 · рейтинг 46 · Paulw11

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

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

...

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

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

Ответ 2 · рейтинг 4 · David

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы