Agora voltamos ao Storyboard, selecionamos ViewControllerC e arrastamos do controlador de visualização para o proxy de Saída.
![](https://miro.medium.com/max/44/1*xU88PlWWB37_ddvnCmgT0g.png?q=20)
No popup selecionamos o nosso método de desenrolar.
![](https://miro.medium.com/max/40/1*G0DsOtQV0XqsW946xxo2sg.png?q=20)
Finalmente, damos um identificador ao nosso desenrolamento.
![](https://miro.medium.com/max/56/1*k2p1Agy8Gxo2JzqMds0MhQ.png?q=20)
Agora tudo o que nos resta é desencadear o desenrolar segue quando o nosso botão é premido.
@IBAction func backToATapped(_ sender: Any) {
performSegue(withIdentifier: "unwindToA", sender: self)
}
Acabamos! 🥂
![](https://miro.medium.com/freeze/max/28/1*V6TOCyfxYj7cZpu64V_HBg.gif?q=20)
alguns detalhes técnicos
Antes de concluir este artigo quero ver o que o tempo de execução está a fazer debaixo do capô.
Localizar o destino é basicamente uma subida na hierarquia do controlador de visualização. O controlador de visualização atual ou apresentandoViewController será o próximo.
Em cada parada, o tempo de execução também tem que verificar se o controlador de visualização tem algum filho porque o método de desenrolar pode estar contido em um desses. Isso é feito chamando o método permitidoChildrenForUnwinding(from:), que retorna um array de UIViewControllers que são filhos do controller de visualização.
No entanto, não queremos verificar o branch que contém o controller de visualização do código fonte, já que acabamos de vir de lá. Isso é evitado chamando o método childContaining(_:), que retorna o controller child view que contém a fonte da sequência de desenrolar. Isso é removido do array.
Se o array retornado contém algum filho, o processo acima também é executado neles. Ele chega ao fim se o destino for encontrado.
Se o array retornado estiver vazio, o método canPerformUnwindSegueAction(_:from:sender:) é chamado, que verifica se o controlador de visualização contém o método de desenrolar.
Se o fizer, nós chegamos ao nosso destino e o processo é finalizado. Se não chegar, subimos um passo na hierarquia do view controller e executamos os mesmos passos.
Conclusion
Espero que você tenha gostado deste pequeno tutorial sobre desenrolar segue, obrigado por dedicar um tempo para lê-lo.