A
Hi Cassius! This is an amazing approach, thank you very much for sharing it. I'm having a problem that I hope you can help me to solve. I'm trying to change programmatically the tab, I was able to do it from my router like this: func changeTo(tab: Tabs, _ completion: (() -> Void)?) { if root?.tabBarController?.selectedIndex != tab.rawValue { root?.tabBarController?.selectedIndex = tab.rawValue } completion?() } But when I do that, the router system doesn't recognise that the tab have been changed so the main router isn't the new visible view. Do you have any ideas of how to solve this? Thanks in advance!