Steil Rafael - iOS: Programe para iPhone e iPad стр 24.

Шрифт
Фон

algum valor a propriedade descricaoDetalhes. Esse padrão pode - aliás, deve

- ser repetido sempre que você quiser passar dados de uma Segue para outra.

Rode o programa e veja o resultado. Apareceu na tela o texto que foi defi-

nido? Provavelmente não, pois esquecemos de um detalhe: configurar o texto da

UILabel. Abra o arquivo DetalhesViewController.m e implemente o mé-

todo viewDidLoad conforme abaixo:

- (void)viewDidLoad

{

[super viewDidLoad];

_infoLabel.text = _descricaoDetalhes;

}

Simples, não?! Agora você já sabe tudo o que é necessário para trabalhar com

storyboards.

94

Capítulo 6

Realizando operações com a

Internet

Agora você já conhece todo o essencial da API do iOS. Além disso, sempre preci-

samos utilizar diversas bibliotecas extras, sejam elas da própria API fornecida pela

Apple ou através de bibliotecas open source que realizam as mais diferentes tarefas.

Vamos aprender a usar uma biblioteca externa com uma situação bem comum:

baixar arquivos pela rede para poder utilizá-los, sejam figuras, arquivos de configu-

ração ou dados.

O código-fonte deste capítulo está disponível na pasta VisualizadorImagens

e ExemploDownload (lembrando que o endereço do site com os códigos está na

introdução do livro).

6.1. Conheça a biblioteca AFNetworking

Casa do Código

6.1

Conheça a biblioteca AFNetworking

Realizar operações de rede, como download ou upload de arquivos, além de intera-

gir com APIs de serviços como Twitter e Facebook, são operações bastante comuns

em aplicativos iOS. Com o amadurecimento da plataforma, diversas bibliotecas que

antes existiam apenas para Mac OS foram portadas para iOS, tornando o acesso à

documentação, exemplos e solução de problemas algo muito mais fácil de conseguir

atualmente.

A biblioteca AFNetworking, que abordaremos neste capítulo, é uma das que

mais se destacam na comunidade de desenvolvedores devido à sua API moderna

e ativa comunidade. AFNetworking funciona tanto em iOS quanto em Mac OS

X. Ela é feita sob a fundação de networking do próprio sistema operacional, ti-

rando proveito do que há de melhor para trabalhar com comunicação de rede,

tendo por padrão inclusive classes para lidar com conteúdo XML e JSON (além

das operações normais), o que é de grande utilidade. A página oficial do projeto

é https://github.com/AFNetworking/AFNetworking, e no livro utilizamos a versão

2.0.

O primeiro exemplo consiste em fazer o download de um arquivo para uma pasta

dentro do nosso aplicativo, mostrando ao usuário uma barra de progresso à medida

que o download é realizado.

Crie um novo projeto no Xcode do tipo Single View Application chamado Exem-

ploDownload.

Em seguida, baixe o projeto disponível no endereço https://github.com/

AFNetworking/AFNetworking/zipball/master e descompacte-o em qualquer diretó-

rio. Neste pacote, copie a pasta AFNetworking para o diretório do projeto Exem-

ploDownload onde se encontram as outras classes do projeto (AppDelegate, View-

Controller e outras).

Tendo feito isso, precisamos adicionar as classes do AFNetworking no nosso

projeto.

Para tanto, selecione o menu

File -> Add Files to "Exemplo

Download" e selecione o diretório do AFNetworking que você copiou no passo an-

terior (selecione o diretório mesmo, não os arquivos dentro dele). O resultado no

Xcode deverá ficar como o da figura 6.1.

96

Casa do Código

Capítulo 6. Realizando

operações com a Internet

Figura 6.1: Estrutura do projeto após importar o AFNetworking

Compile o projeto ( COMMAND+B), e se correu tudo sem problemas, você deverá

ter um resultado como o da figura 6.2.

6.2

Criando a interface de download

O objetivo deste aplicativo é solicitar ao usuário o endereço de um arquivo a ser bai-

xado, e mostrar o progresso a medida em que o download ocorre. Não faz diferença

97

6.2. Criando a interface de download

Casa do Código

se for um arquivo ZIP, Imagem ou qualquer outro formato, o ideal é apenas que seja

grande o suficiente para ver a barra de progresso em funcionamento (ex: 3 MB para

uma conexão lenta, 30 MB para conexões um pouco mais rápidas). Ao término do

download será mostrado um alerta com o tamanho total do arquivo baixado.

Abra o arquivo Main.storyboard e adicione os seguintes componentes:

1) Label, com o texto URL do arquivo

2) Text Field, onde será informado o arquivo a baixar

3) Um Button com o texto Download

4) Um componente Progress View, que será a nossa barra de progresso

5) Um componente Activity Indicator View, que é aquela rodinha que fica gi-

rando enquanto alguma ação está acontecendo

A figura 6.2 mostra como deverá ficar a interface.

98

Casa do Código

Capítulo 6. Realizando operações com a Internet

Figura 6.2: Resultado da construção da interface do aplicativo

6.3

Conectando os componentes com o código

Agora que temos a UI (User Interface, ou interface com o usuário) criada, precisa-

mos conectar os componentes ao código, a fim de podermos manipulá-los. Lembre-

se que o arquivo .storyboard contém apenas a representação visual dos elementos

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке