Abrir o ViewController no AppDelagate enquanto mantém a barra de guias

No meu projeto Xcode, quando um usuário toca em uma notificação, quero primeiro enviá-los para um determinado item na minha barra de guias e, em seguida, quero instanciar um controlador de exibição e enviar um objeto para esse controlador de exibição. Eu tenho o código que os envia para a tabBar que eu quero, mas não sei como instancia-los para o controlador de exibição, mantendo a tabBar e a barra de navegação conectadas ao controlador de exibição. Todas as respostas para isso exigem que você altere o controlador de exibição raiz e isso me faz perder a conexão com a minha tabBar e barra de navegação quando o controlador de exibição é chamado.

Um exemplo da vida real disso: O usuário recebe uma notificação do Instagram dizendo "João começou a segui-lo" -> o usuário toca na notificação -> o Instagram abre e mostra a guia de notificações -> envia rapidamente o usuário para o perfil "John" e, quando o usuário pressiona o botão Voltar, envia-o de volta ao guia de notificação

Deveria saber: A razão pela qual eu vou a uma determinada guia primeiro é obter o controlador de navegação dessa guia, porque o controlador de exibição que eu vou não possui um.

Aqui está o meu código de trabalho ao enviar o usuário para a guia "notificações" (adicionei comentários para agir como o exemplo do Instagram para melhor compreensão):

if let tabbarController = self.window!.rootViewController as? UITabBarController {
    tabbarController.selectedViewController = tabbarController.viewControllers?[3] //goes to notifications tab
    if type == "follow" { //someone started following current user                            
        //send to user's profile and send the user's id so the app can find all the information of the user                    
    }
}

questionAnswers(3)

yourAnswerToTheQuestion