Скажем, у меня есть сцена (толкаемый контроллер вида с навигационной панелью), который отображает некоторые табличные данные в виде таблицы. На панели навигации этой сцены у меня есть знак +, который должен открыть новую сцену, где пользователь может добавить новый элемент (строка в базовую таблицу данных). В представлении таблицы каждая строка имеет стрелку с правой стороны каждой ячейки, которая открывает сцену, где пользователь может редактировать данные конкретного элемента. Должен ли я использовать push или modal segue для +? Должен ли я использовать push или modal segue для стрелки? Что такое "лучшая практика"? Я понимаю разницу между push и modal segues, но я хочу знать, что лучше подходит для вышеупомянутых вариантов использования.
Использовать случай для push и modal segues?
Ответ 1
Если вы хотите следовать лучшим практикам Apple, я бы предложил следующее:
-
Для функции "Добавить" используйте модальный сегмент.
Например, посмотрите приложение для контактов. Нажатие + показывает контроллер модального просмотра.
Какая логика? для начала, контроллеры модального представления обычно имеют кнопку "отменить", а не кнопку "назад" на нажатом vc.
Когда пользователь нажимает "назад" - он ожидает, что вернется к vc. Обычно "назад" сохраняет ваши данные в iOS (автоматически сохраненные).
Поэтому, используя modal segue, вы вынуждаете пользователя отправлять форму или отменять ее. Модальная презентация подсказывает, что вам действительно нужно заполнить этот экран. -
Для редактирования - нажмите. но модальный может работать (и вы можете повторно использовать тот же VC).
Причины нажатия:- вы получаете иерархию vc, возвращаясь и вперед во время сверления.
- (вы должны реализовать) автоматическое сохранение при возврате (как и другие приложения iOS)
Ответ 2
Я надеюсь, что это краткое резюме поможет вам: Если вы хотите показать подробный вид сводного представления, используйте контроллер навигации и нажмите "Сег". Если "родительское" представление действительно не связано с данными о "дочернем" представлении, используйте модальный. Хорошим примером для модального представления будет любой вид записи. В этом представлении на самом деле нет каких-либо отношений, поскольку данные относятся к "родительскому" представлению., Экран ввода будет просто брать данные от пользователя и будет сохранять и может уйти и вернуть управление родительскому
Ответ 3
Чтобы добавить новый объект в таблицу основных данных, нажав кнопку + (я предполагаю, что на панели навигации находится элемент правой строки панели), используйте модальный сегмент. Представление для добавления новой строки для enity должно быть представлено модально, и как только сохранение будет завершено, отпустите модальное представление и перезагрузите представление таблицы, чтобы отобразить вновь добавленный элемент.
Также для отображения деталей строки сущности используйте кнопку push segue. Пользователь ожидает нажатия кнопки, когда он выбирает ячейку таблицы, и это идеальный способ сделать это.