Tenho uma dúvida referente a nevagação do aplicativo que é a seguinte:
Quando acabamos o Quiz e tocamos no botão "Reiniciar Quiz" na tela de "Desempenho", isso faz com que o app volte para a tela "Home", para a tela onde iniciamos o Quiz novamente, até aí tudo certo. Só que da maneira como é feita essa navegação via storyboard me parece que o que estamos fazendo na verdade é empilhar mais telas toda vez que tocamos em "Reiniciar Quiz", pois em nenhum momento estamos falando para a nossa navigationController zerar a pilha de navegação, então a minha dúvida é: se isso realmente está acontecendo, isso não está causando um vazamento de memória no app? pois toda vez que empilhamos mais telas na nossa navigationController, mais memória nosso app vai consumir, certo?
Eu até pesquisei um pouco a respeito desse problema, mas não encontrei nenhuma maneira de resolver isso via storyboard, somente de maneira programática, que é a seguinte:
1º - Criar uma action do botao "Reiniciar Quiz": @IBAction func botaoPressionado(_ sender: UIButton) { }
2º - Adicionar o seguinte método: @IBAction func botaoPressionado(_ sender: UIButton) { navigationController?.popToRootViewController(animated: true)}
Esse método tem como finalidade remover todas as telas empilhadas na pilha de navegação e retorna para a primeira tela (root) que foi empurrada pelo UINavigationController.
Então se o problema realmente existe, essa solução remove esse problema? Eu consigo fazer algo parecido com isso através de alguma ligação no storyboard ou fazer isso só é possível programaticamente?