Переход к точке в стеке навигации - PullRequest
0 голосов
/ 22 марта 2011

Просто после небольшого совета и толчка в правильном направлении.

У меня есть модальное представление с контроллером навигации, содержащим 3 уровня (представления):

  1. Мои активные задания (извлекает список активных заданий пользователей с сервера и отображает их в виде таблицы, выбирает задание и в представлении 2 передается идентификатор задания и отображается).

  2. заданиеПодробности (извлекает сведения о задании и список его обновлений на основе идентификатора задания с сервера, выбирает обновление и просматривает 3, передает идентификатор обновления и отображается).

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

Итак, у меня есть отдельное модальное представление вдругая часть приложения, которая отображает последние обновления для заданий. Это включает новые задания, назначенные пользователю, и новые обновления для активных заданий.

То, что я хотел бы сделать, - это ссылка непосредственно наВид с высоты в навигационном контроллере, когда элемент выбран в модальном окне последних обновлений.

Поэтому я хочу вызвать модальное представление Активные задания, когда выбрано последнее обновление, и передать соответствующие идентификаторы., инициализируйте комбинацию представлений, необходимых в стеке, передайте идентификаторы в представления, затем инициализируйте контроллер навигации с помощью setViewControllers: animated: method.

Это лучший способ сделать это или естьлучший способ?

Любая помощь или предложения будут с благодарностью.

1 Ответ

0 голосов
/ 22 марта 2011

Не вижу смысла дублировать функциональность создания представлений для контроллера представлений.Одна вещь, которую вы могли бы сделать, это иметь «кэш» для каждого элемента (jobId и updateId).Если вы хотите нажать несколько viewControllers одновременно, вы должны заполнить кеш нужными значениями.Затем, когда вы помещаете viewController в navigationController, новый контроллер проверяет кэш, и если что-то кешируется, вы просто нажимаете непосредственно следующий контроллер представления.Все это произойдет быстро и должно быть незаметно для пользователя.

Делая это таким образом, вы используете один и тот же код независимо от того, знаете ли вы следующий идентификатор или нет.Вы используете либо выбранный пользователем идентификатор, либо тот, который уже предопределен другим выбором.

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