11

© Casa do Código - Amazon Simple Storage Service · Casa do Código Sumário .Carregar uma determinada imagem ..... .Carregar as outras imagens à medida que interagimos com o scroll

Embed Size (px)

Citation preview

© Casa do CódigoTodos os direitos reservados e protegidos pela Lei nº9.610, de 10/02/1998.Nenhuma parte deste livro poderá ser reproduzida, nem transmitida, sem auto-rização prévia por escrito da editora, sejam quais forem os meios: fotográficos,eletrônicos, mecânicos, gravação ou quaisquer outros.

Casa do CódigoLivros para o programadorRua Vergueiro, 3185 - 8º andar04101-300 – Vila Mariana – São Paulo – SP – Brasil

Casa do Código

Agradecimentos

Àqueles que, antes de todos, emmim acreditaram: Daniel, Everson, Guilherme e Paulo.

i

Casa do Código Sumário

Sumário

� Introdução ��.� Desenvolvendo para o iOS . . . . . . . . . . . . . . . . . . . . . . . . . ��.� Como o livro está organizado e focado . . . . . . . . . . . . . . . . . . ��.� Códigos para download e lista de discussão . . . . . . . . . . . . . . . �

� Hello World, seu primeiro programa em iOS ��.� Instalando a ferramenta de desenvolvimento - Xcode . . . . . . . . . ��.� Seu primeiro programa . . . . . . . . . . . . . . . . . . . . . . . . . . . ��.� Dando vida ao aplicativo . . . . . . . . . . . . . . . . . . . . . . . . . . ���.� Associe sua tela com o código . . . . . . . . . . . . . . . . . . . . . . . ���.� Escondendo e mostrando a view . . . . . . . . . . . . . . . . . . . . . . ���.� Adicionar animação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ���.� Bônus - Acessar a documentação de dentro do Xcode . . . . . . . . . ��

� Mais Objective-C e Xcode ���.� Criando o projeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ���.� Entenda melhor a interface do Xcode . . . . . . . . . . . . . . . . . . . ���.� Criar a tela de inserção de empresa . . . . . . . . . . . . . . . . . . . . ���.� Adicionar componentes visuais . . . . . . . . . . . . . . . . . . . . . . ���.� Atenção para as propriedades simuladas . . . . . . . . . . . . . . . . . ���.� Conectando os eventos e componentes ao código . . . . . . . . . . . . ���.� Uma classe para representar uma empresa . . . . . . . . . . . . . . . . ���.� Cabeçalhos e implementações . . . . . . . . . . . . . . . . . . . . . . . ���.� Informando a quantidade de funcionários . . . . . . . . . . . . . . . . ���.�� Trabalhe com objetos: instanciando uma Empresa . . . . . . . . . . . ��

iii

Sumário Casa do Código

�.�� Como são as strings em Objective-C? . . . . . . . . . . . . . . . . . . . ���.�� Formatando strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ���.�� Guardando todas empresas em memória . . . . . . . . . . . . . . . . . ���.�� Listando todas as empresas do catálogo . . . . . . . . . . . . . . . . . . ���.�� Vença a sintaxe do Objective-C: invocação de métodos . . . . . . . . ���.�� Criando instâncias de objetos . . . . . . . . . . . . . . . . . . . . . . . ���.�� Melhoria: esconder o teclado automaticamente . . . . . . . . . . . . . ���.�� Melhoria: mostrando a mensagem de sucesso somente ao salvar . . . ��

� Coordenando o trabalho com controladores ���.� Passando de um controlador para outro . . . . . . . . . . . . . . . . . ���.� Fechar um controlador modal . . . . . . . . . . . . . . . . . . . . . . . ���.� Navegar por diferentes telas com o UINavigationController . . . . . . ���.� Preparar a tela principal . . . . . . . . . . . . . . . . . . . . . . . . . . . ���.� Conectar as ações dos botões . . . . . . . . . . . . . . . . . . . . . . . . ���.� Criar a tela de Adicionar Empresa . . . . . . . . . . . . . . . . . . . . . ���.� Navegar de um controlador para outro . . . . . . . . . . . . . . . . . . ���.� Associar um UINavigationController ao projeto . . . . . . . . . . . . ���.� Criar os demais controladores . . . . . . . . . . . . . . . . . . . . . . . ���.�� Esconder a barra superior de navegação . . . . . . . . . . . . . . . . . ��

� Storyboards ���.� Projeto e conceitos gerais . . . . . . . . . . . . . . . . . . . . . . . . . . ���.� Adicionar os demais controladores . . . . . . . . . . . . . . . . . . . . ���.� Navegar de volta diretamente para a Segue inicial . . . . . . . . . . . . ���.� Passar dados de uma Segue para outra . . . . . . . . . . . . . . . . . . ��

� Realizando operações com a Internet ���.� Conheça a biblioteca AFNetworking . . . . . . . . . . . . . . . . . . . ���.� Criando a interface de download . . . . . . . . . . . . . . . . . . . . . ���.� Conectando os componentes com o código . . . . . . . . . . . . . . . ���.� Realizar a operação de download . . . . . . . . . . . . . . . . . . . . . ����.� Trabalhando com JSON e imagens remotas . . . . . . . . . . . . . . . ����.� Con�gurar os blocks de sucesso e erro do AFNetworking . . . . . . . ����.� Con�gurar o scroll e pré-gerar os componentes de imagens . . . . . . ���

iv

Casa do Código Sumário

�.� Carregar uma determinada imagem . . . . . . . . . . . . . . . . . . . . ���

�.� Carregar as outras imagens à medida que interagimos com o scroll . ���

�.�� Faça seu aplicativo funcionar em todas as orientações . . . . . . . . . ���

� Trabalhando com tabelas - UITableView ���

�.� Criando a primeira table view - conceitos e exemplo . . . . . . . . . . ���

�.� O aplicativo de lista de contatos . . . . . . . . . . . . . . . . . . . . . . ���

�.� Carregando os contatos a partir de um arquivo plist . . . . . . . . . . ���

�.� Tornando a tabela funcional . . . . . . . . . . . . . . . . . . . . . . . . ���

�.� Informando a quantidade de itens que temos . . . . . . . . . . . . . . ���

�.� Exibindo dados em cada linha . . . . . . . . . . . . . . . . . . . . . . . ���

�.� Permitindo interação com os itens da tabela . . . . . . . . . . . . . . . ���

�.� Removendo elementos da table view . . . . . . . . . . . . . . . . . . . ���

�.� Removendo diversas linhas . . . . . . . . . . . . . . . . . . . . . . . . . ���

�.�� Crie uma tabela para o nosso catálogo de empresas . . . . . . . . . . . ���

� Trabalhando com reconhecedores de gestos ���

�.� Sistema de eventos tradicional . . . . . . . . . . . . . . . . . . . . . . . ���

�.� Uma abordagem mais prática: d de gestos . . . . . . . . . . . . . . . . ���

�.� Convertendo o exemplo CirculoView para gestos . . . . . . . . . . . . ���

�.� Tremedeira com toque longo . . . . . . . . . . . . . . . . . . . . . . . . ���

�.� Deslizando uma view com o gesto Swipe . . . . . . . . . . . . . . . . . ���

� Trabalhe commapas e GPS na sua aplicação ���

�.� As bibliotecas necessárias . . . . . . . . . . . . . . . . . . . . . . . . . . ���

�.� Adicionando o mapa à aplicação . . . . . . . . . . . . . . . . . . . . . . ���

�.� Simulando múltiplos toques . . . . . . . . . . . . . . . . . . . . . . . . ���

�.� Posicionando o mapa automaticamente na localização do usuário . . ���

�.� Trabalhe com o zoom . . . . . . . . . . . . . . . . . . . . . . . . . . . . ���

�.� Adicionando pinos ao mapa . . . . . . . . . . . . . . . . . . . . . . . . ���

�.� Detecte toques nos pinos . . . . . . . . . . . . . . . . . . . . . . . . . . ���

v

Sumário Casa do Código

�� Componentes grá�cos customizados �����.� Criando views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . �����.� Animando views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . �����.� Animando da forma procedural e tradicional . . . . . . . . . . . . . . �����.� Animando com o uso de blocos . . . . . . . . . . . . . . . . . . . . . . �����.� Criando views customizadas . . . . . . . . . . . . . . . . . . . . . . . . �����.� Utilizar a view customiza LoginView . . . . . . . . . . . . . . . . . . . �����.� Construir o componente LoginView utilizando um arquivo XIB de

interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . �����.� Como utilizar views criados com arquivos XIB . . . . . . . . . . . . . ���

�� Conceitos fundamentais de Objective-C �����.� Uma pequena história . . . . . . . . . . . . . . . . . . . . . . . . . . . . �����.� Nome e assinatura do método . . . . . . . . . . . . . . . . . . . . . . . �����.� Propriedades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . �����.� Acesso somente leitura . . . . . . . . . . . . . . . . . . . . . . . . . . . �����.� Utilizando propriedades dentro da própria classe . . . . . . . . . . . . �����.� De�nindo protocolos . . . . . . . . . . . . . . . . . . . . . . . . . . . . �����.� Trabalhando com categorias . . . . . . . . . . . . . . . . . . . . . . . . �����.� Gerenciamento de memória . . . . . . . . . . . . . . . . . . . . . . . . �����.� Gerenciamento manual de memória (para os curiosos) . . . . . . . . �����.�� Simpli�cando as coisas com literais . . . . . . . . . . . . . . . . . . . . ���

�� Como criar uma conta no portal de desenvolvimento da Apple �����.� Registre-se como um desenvolvedor Apple . . . . . . . . . . . . . . . . �����.� Fazendo a assinatura no iOS Developer Program . . . . . . . . . . . . �����.� Os tipos de certi�cados . . . . . . . . . . . . . . . . . . . . . . . . . . . ���

�� Rodando os aplicativos no seu iDispositivo �����.� Crie e instale o certi�cado . . . . . . . . . . . . . . . . . . . . . . . . . �����.� Crie a identidade do seu aplicativo - App IDs . . . . . . . . . . . . . . �����.� Adicionando dispositivos para desenvolvimento . . . . . . . . . . . . �����.� Limite anual de dispositivos . . . . . . . . . . . . . . . . . . . . . . . . �����.� Crie o certi�cado de provisionamento . . . . . . . . . . . . . . . . . . �����.� Associe o arquivo de provisionamento no Xcode . . . . . . . . . . . . �����.� Rode seu aplicativo no dispositivo . . . . . . . . . . . . . . . . . . . . . �����.� Veri�cando a instalação dos per�s no dispositivo . . . . . . . . . . . . ���

vi

Casa do Código Sumário

�� Uma palavra �nal + bônus �����.� Bônus - livros e links . . . . . . . . . . . . . . . . . . . . . . . . . . . . ���

Versão: ��.�.��

vii