A Apple anunciou em sua WWDC deste ano uma série de novidades no iOS e o lançamento de uma nova linguagem de programação, Swift. Estamos há alguns meses explorando esses recursos e entendendo como nossos aplicativos podem ser produzimos em menor tempo e de maneira mais consistente.
Nesse caminho, não podemos deixar de ressaltar algumas melhorias no ambiente de desenvolvimento do Xcode. Atualmente na versão 6.0.1, esta ferramenta tem evoluido ano a ano buscando atender as necessidades durante a produção de um app. Uma novidade interessante é a possibilidade de analisar a hierarquia de uma UIViewController e depurar suas subviews ao acionar um breakpoint durante a execução da aplicação.
Para demonstrar esse recurso, criamos um novo projeto utilizando o template Single View Application. Acessando o storyboard, adicionamos três subviews de cores diferentes uma por cima das outras, fazendo com que uma delas fique totalmente oculta abaixo das demais.
Agora precisamos provocar uma parada em algum ponto da execução. Acessamos o arquivo ViewController.swift e adicionamos o seguinte trecho, logo após a função viewDidLoad():
Repare que também adicionamos um breakpoint ao clicar na barra lateral esquerda da linha comentada. Feito isso, é hora de executar nossa aplicação.
Assim que a aplicação é iniciada e a única tela é exibida, o Xcode pausa a execução no breakpoint que adicionamos acima. Agora podemos ver como está nossa interface, clicando no botão indicado na figura abaixo:
Desta forma, acessamos o modo debug para a hierarquia de views! Podemos então analisar cuidadosamente cada uma das subviews neste instante da execução do app, incluindo aquelas que estão ocultas pelas demais, fato comum em interfaces com maior grau de customização.
Segurando a tecla ALT-OPTION, clique e arraste a ViewController para qualquer lado. O que temos é uma projeção de como estão as views e como elas se relacionam. No Inpector, à direita, podemos analisar qual o frame atual e como o auto-layout afeta a view selecionada.
Considerando que agora temos uma maior fragmentação nas dimensões de tela dos aparelhos, é essencial o bom uso do auto-layout na implementação das interfaces. Este novo recurso do Xcode nos ajudará muito a compreender como as constraints atuam nas views em tempo de execução, corrigindo eventuais bugs e tornando nossas interfaces mais eficientes.
Quer ver mais dicas como esta? Acesso IAI? em site.iai.art.br