[MÚSICA]
[MÚSICA] E
aí pessoal, tudo bem?
Nessa aula iremos ver como salvar dados usando NSUserDefaults.
Criaremos aplicativo que tem uma tela inicial de configuração que em seguida
leva à tela normal do aplicativo.
Uma vez que o usuário salva as informações,
sempre que ele entrar no aplicativo já vai estar na segunda tela.
Vamos iniciar criando novo projeto com a opção single view application.
Escolha o nome de projeto e em Devices deixe Universal.
Com o projeto criado vamos criar alguns arquivos.
New file, Cocoa Touch Class,
UIViewController subclasse chame de ConfigViewController.
New file, Cocoa Touch Class,
UIViewController subclasse, chame de MainViewController.
Agora apague o view controller existente que não iremos usar.
Vamos ao storyboard.
Adicione o view controller.
[SEM_ÁUDIO] Selecione o primeiro view controller.
No inspetor de identidade escolha ConfigViewController.
No inspetor de conexões crie segue para o segundo view controller.
Vamos colocar o identificador donePrefs.
Agora vamos usar alguns elementos que já vimos no módulo passado.
Adicione 4 labels.
Modifique a primeira para Preferências de Usuário.
[SEM_ÁUDIO]
Adicionar constraints.
[SEM_ÁUDIO] Modifique
a segunda para Mensagem de Boas Vindas.
[SEM_ÁUDIO] Adicionar constraints.
Agora adicione text field.
[SEM_ÁUDIO] Colocar
o texto inicial Escreva aqui a sua mensagem para aparecer o botão de apagar.
Na aba de conexões, conetar o delegate.
Adicione constraints.
[SEM_ÁUDIO]
[SEM_ÁUDIO] Modifique a terceira label para Selecione uma cor de fundo.
Adicionar constraints.
Adicione picker view.
Coloque constraints.
Na aba de
conexões conete data source e o delegate.
Agora modifique
a última label para Escreva uma mensagem de boas vindas para finalizar.
Nesse caso vamos deixar ela pequena, centralizada, melhor aumentar
para duas linhas e adicionar uma quebra de linha depois de Boas vindas.
Para isso, basta pressionar control mais enter, modificar a cor também para
vermelho e vamos deixar essa label escondida.
Coloque constraints.
Adicione por último botão.
Modifique para finalizar,
ajuste o tamanho,
adicione constraint.
Nesse caso vou colocar constraint em relação à parte inferior da tela.
[SEM_ÁUDIO] Vamos
aproveitar para fazer as ligações com o código.
Crie outlet para o picker view, vou chamar de picker view.
Outlet para text field.
Tomar de text Field, uma última outlet para a label de erro,
tomar de error Label.
Criar uma action para o botão.
Tomar de end Button.
Selecione o segundo view controller.
No inspetor de identidade, escolha MainViewControler.
Adicione uma label.
Modifique para Mensagem de boas vindas.
Ajuste cor,
tamanho e adicone
constraints.
[SEM_ÁUDIO] Vamos
criar os outlets no código.
Para a label, chamar de welcome Message Label.
[SEM_ÁUDIO] Outlet
para a view principal, chamar de Main View.
Agora vamos código da main view controller primeiro.
Precisamos de duas variáveis para receber as informações da tela de configuração.
Uma variável para receber a cor de fundo,
outra para receber a mensagem de boas vindas.
Considerando que vamos receber essas variáveis antes de esse view controller
ser chamado, podemos fazer as alterações no viewDidLoad.
Aqui criamos uma função para cada inicialização.
A função updateColor verifica a cor que está na string recebida e
atualiza a cor da mainview.
A função updateText atualiza a label do outlet com a string recebida.
Agora vamos ao ConfigViewController.
Aqui precisamos adicionar data source e delegate para o picker view,
além de delegate para text field.
Para não ficar muita informação e organizar melhor o código, vamos adicionar
o UITextFieldDelegate, deixar separadas as funções do picker view.
Antes disso vamos apenas adicionar dados para o picker view nessa parte.
Monitor de string com o nome das cores.
Agora vou ao final do código e
adicione uma extensão para a nossa classe ConfigViewController.
Aqui vamos adicionar UIPickerViewDataSource
e UIPickerViewDelegate e colocamos as funções do picker view que já vimos
em aulas passadas usando o nosso vetor de dados picker view data.
Agora podemos voltar.
Ainda precisamos de algumas variáveis para ajudar no desenvolvimento.
SelectedColor para salvar e recuperar a cor de fundo escolhida,
selectedIntroText para salvar e recuperar o texto de boas vindas.
Defaults, com essa função recebemos o caminho padrão de dados
do NSUserDefaults, que é onde iremos salvar algumas informações dessa aula.
Sempre que iniciamos o picker view,
o primeiro elemento do vetor de dados é que será selecionado.
Caso não ocorra nenhuma alteração do picker view,
vamos deixar salvo na nossa varável local esse valor que no caso é o branco.
Podemos já adicionar as funções do text field,
as mesmas que já vimos em aula passada.
A diferença aqui é que quando termina de digitar texto,
salvamos esse texto na nossa variável local, selectedIntroText.
Na próxima aula iremos continuar explicando a partir desse ponto.
Até lá!