de funcionários da empresa.
Um componente Stepper: que será
utilizado para aumentar ou diminuir a
quantidade de funcionários.
Um botão Button com o texto Salvar (propriedade Title, ou duplo clique
no componente).
Um componente Label com o texto Dados salvos com sucesso, alinhado ao
centro (propriedade Alignment no Attributes Inspector), e da largura da tela.
Note que ao modificar o tamanho do componente o Interface Builder mostra
linhas guia para auxiliar o posicionamento, conforme a figura 3.6.
São muitos componentes! Pratique os diversos tipos, em especiais os que esta-
mos utilizando agora. Eles serão necessário na grande maioria das suas aplicações.
Figura 3.6: Guias do Xcode auxiliando no posicionamento e alinhamento dos com-
ponentes
30
Casa do Código
Capítulo 3. Mais Objective-C e Xcode
Rode o aplicativo no simulador através da tecla de atalho Command + R, ou
pelo menu Product -> Run, para ver o resultado até o momento. Se você interagir
com os elementos verá que não acontecerá muita coisa, pois ainda não conectamos
os eventos ao código, o que será feito em seguida.
3.5
Atenção para as propriedades simuladas
O Attributes Inspector tem uma seção chamada Simulated Metrics, que serve unica-
mente para simular alguns elementos de interface, para facilitar o posicionamento
dos componentes em certos tipos de aplicativos. Contudo, tenha em mente que, em-
bora o uso das propriedades da seção Simulated Metrics resulte em alterações visuais,
elas são apenas temporárias, não tendo qualquer impacto prático no aplicativo. Veja
a figura 3.7 para referência.
Obs: caso você esteja no arquivo Main.storyboard, o box das propriedades
simuladas somente irão aparecer caso selecione a barra preta na parte inferior da tela
(aquela que tem três botões, um amarelo, outro laranja e o último verde). Se você
apenas clicar na tela (a parte que em branco que representa o iPhone), o box não
aparecerá.
31
3.6. Conectando os eventos e componentes ao código
Casa do Código
Figura 3.7: Elementos de interface simulados apenas. Eles não irão aparecer no apli-
cativo de fato.
A possibilidade de simular algumas coisas pode ser útil para você construir de
maneira mais fácil a tela, se em algum momento (muito provavelmente via código)
pretende inserir os componentes de verdade.
3.6
Conectando os eventos e componentes ao có-
digo
Da mesma maneira que fizemos no capítulo anterior, precisamos conectar os compo-
nentes gráficos com o código para que seja possível acessá-los de fato até então, o
que é feito no arquivo Main.storyboard não tem qualquer relação com código. A
primeira coisa a fazer é abrir o Assistant Editor ( Option + Command + ENTER)
para visualizar o arquivo ViewController.h ao lado do Main.storyboard.
Lembre-se que, caso o arquivo exibido seja o ViewController.m (ao invés do
.h), você deve primeiro alterná-los.
32
Casa do Código
Capítulo 3. Mais Objective-C e Xcode
Alternando entre os arquivos .h e .m
É possível alternar rapidamente entre arquivos .h e .m relacionados
utilizando a tecla de atalho CTRL + Command + Seta para cima
(lembre-se de primeiro clicar na área onde tem algum código), ou então
clicando no nome do arquivo na barra de navegação, conforme a figura
3.8.
Figura 3.8: Alternando entre arquivos utilizando a barra de navegação
Fechando os painéis desnecessários
É muito fácil deixar diversos painéis abertos no Xcode, aumentando
bastante a poluição visual e consequentemente diminuindo a área dispo-
nível para trabalhar, especialmente se você está em uma tela pequena.
Nesses casos basta esconder o que não for vital, como o Navigator (
Command + 0, ou View -> Navigators -> Hide Navigator), o painel de
Debug ( Command + Shift + Y, ou View -> Debug Area -> Hide De-
bug Area) e o painel Utilities ( Option + Command + 0, ou View ->
Utilities -> Hide Utilities::)
A conexão dos componentes deve ser feita da seguinte forma:
33
3.6. Conectando os eventos e componentes ao código
Casa do Código
Selecione o campo de texto do nome da empresa, segure CTRL e clique e ar-
raste para o arquivo ViewController.h, posicionando entre @interface
e end. Na janela flutuante que abrir selecione o valor Outlet na propriedade
Connection e insira o o valor nomeField na propriedade Name. Isso irá criar
a variável já com as propriedades corretas.
Repita o mesmo processo para o campo de texto da quantidade de funcioná-
rios, colocando como nome o valor quantidadeField
Para o componente Stepper, que é aquele com um botão - e outro +, realize
o mesmo procedimento de conexão, porém no campo Connection selecione o
valor Action para gerar um método de ação ao invés de criar uma variável
simples. No campo Name insira o valor incrementadorAlterado, que será
o nome do método que será executado toda vez que o usuário interagir com
o componente, e deixe os outros campos com os valores padrão (Type ID,
Event Value changed e Arguments Sender)
Para o botão salvar, crie a Connection do tipo Action, com o Name salvar, e