Создание экземпляра View Controller, встроенного в TabBarController, из делегата приложения - PullRequest
0 голосов
/ 29 октября 2018

Я бы хотел, чтобы пользователь переходил к контроллеру представления после нажатия на push-уведомление. Этот контроллер представления встроен в контроллер панели вкладок и должен получать данные из этого ответа. Если бы мне не нужно было передавать данные, я бы просто назвал контроллер панели вкладок корневым контроллером представления. Но так как я хочу передать значение bool с именем returnFromNotification, у меня есть следующее:

userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
    if response.notification.request.identifier == "LocalPushReminder" {

        let storyboard = UIStoryboard(name: "Main", bundle:nil)
        let tabbarController = storyboard.instantiateViewController(withIdentifier: "TabBarViewController") as! UITabBarController

        if let practiceVC = tabbarController.viewControllers?[1] as? PracticeCollectionViewController {
            practiceVC.returnedFromNotification = true
            self.window?.rootViewController = practiceVC
            self.window?.makeKeyAndVisible()
        }
    }
    completionHandler()
}

Вид загружен, но не встроен в панель вкладок и пропускает все данные. Спасибо!

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