#objective_c #ios #apple #ios7
Доброе время суток! В общем столкнулся с проблемой, приходит уведомление, скажем "Вам пришло новое сообщение", мне необходимо открыть чат с этим пользователем, но что бы попасть в чат, нужно прочти 3 экрана от стартового, либо же пользователь не выходит с приложения, а заблокировал телефон на контроллере чата, подскажите пожалуйста, каким образом нужно/можно/будет правильно открывать нужный контроллер? Если к нему нужно добиратся через 3-9 земель? или не наоборот? Заранее спасибо за помощь!
Ответы
Ответ 1
Думаю здесь больше зависит от архитектуры приложения. Вот у меня, например, несколько NavigationControllers и у каждого есть переход в чат. Дак контрол чата принимает на вход модель собеседников и таким образом я могу его вызвать в любом месте через пуш, сформулировав перед этим все модели данных для чат контрола. - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { UINavigationController *navController = (UINavigationController *)self.window.rootViewController; NotificationViewController *notificationViewController = [[NotificationViewController alloc] init]; [navController.visibleViewController.navigationController pushViewController:notificationViewController]; } Но в этом примере я пушаюсь сразу же в чат без промежуточных экранов. Если же задача стоит именно пропушиться туда где чат пройдя по промежуточным экраном, то тут нужно придумать какой-нибудь алгоритм переходов с неким path пушей экранов с анимацией, с блоком завершения анимации и пушингом следующего контрола в path . В общем много вариантов, на самом деле, все зависит от ТЗ.
Комментариев нет:
Отправить комментарий