Como obter o UIViewController mais alto (top-most) na tela de um aplicativo iOS?
Olá a todos! Estou escrevendo meu primeiro aplicativo iOS em Swift e me deparei com um problema. Tenho várias janelas modais (UIAlertController, UIImagePickerController e view controllers personalizados) que às vezes abrem umas sobre as outras. Preciso obter programaticamente uma referência ao controller que está atualmente no topo da hierarquia, para, por exemplo, mostrar um novo alerta ou verificar se alguma tela modal já está aberta.
Tentei usar `UIApplication.shared.keyWindow?.rootViewController`, mas isso retorna apenas o controller raiz, não o atual visível. Se eu abro um controller modal, o rootViewController não muda. Tentei percorrer recursivamente o `presentedViewController`, mas isso nem sempre funciona, especialmente se houver um UINavigationController ou UITabBarController.