© Casa do Código
Todos 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ódigo Livros para o programador Rua Vergueiro, 3185 - 8º andar
Casa do Código
Agradecimentos
Àqueles que, antes de todos, em mim acreditaram: Daniel, Everson, Guilherme e Paulo.
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 com mapas 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: ��.�.��