Este documento fornece uma introdução aos conceitos básicos do desenvolvimento de aplicativos para iOS, incluindo a IDE Xcode, a linguagem Objective-C e elementos da interface do usuário. Apresenta as ferramentas do Xcode, como o Simulator e Instruments, e discute brevemente a história e sintaxe da linguagem Objective-C.
5. Atualmente está na versão 6 e suporta o
desenvolvimento para iOS8.1.
Para novas atualizações do sistema
operacional, a Apple tem o costume de
lançar versões beta do XCode que podem
ser baixadas dentro do Member Center
(portal para desenvolvedores).
XCode
7. Consegue simular com integridade um
device.
Necessita de algumas configurações
básicas para replicar as funcionalidades de
geoposicionamento e linguagem do
dispositivo.
Excessão: não pode ser usado quando
recursos físicos do celular são necessários
(câmera, acelerômetro e bluetooth).
Simulator
8. Instruments
Excelentes ferramentas de auxílio ao
desenvolvedor:
● Verificar vazamento de memória
● Indicar objetos inutilizados e sem
referência (zumbis)
● Checar o tempo de execução de
tarefas
● Testes de performance em geral
11. ● Derivada da linguagem C
● Surgiu em 1980
● Foi licenciada pela NeXT em 1988
● Em 1996 a Apple comprou a NeXT e incluiu a biblioteca
NeXTSTEP no Core do Mac OS X
Um pouco de história (bem pouco…)
12. ● Trabalha com classes
● Possui o prefixo NS para diversos tipos de objeto
(NSString, NSArray, NSObject, etc.) e UI para elementos
de interface
● Possuem um * (ponteiro) na criação de novos objetos
● Linguagem altamente descritiva
Sintaxe
14. Exemplo - Declarando um método
PHP:
function getByAno($ano) { ... }
Java:
(void) getByAno(int ano) { ... }
15. Exemplo - Declarando um método
PHP:
function getByAno($ano) { ... }
Java:
(void) getByAno(int ano) { ... }
Javascript:
function getByAno(ano) { ... }
16. Exemplo - Declarando um método
Objective-c:
- (void) getByAno:(int) ano { ... }
Todos os parâmetros são separados por pelo menos um
termo entre eles. Isso faz com que o desenvolvedor seja
obrigado a ser bem descritivo na criação dos métodos
17. Exemplo - Declarando um método
- (NSString*) getNameFromList:(NSArray*) peopleArray WithIndex:(int)index{ ... }
● Não economize em nomes de métodos e variáveis. O XCode
possui um excelente autocomplete.
18. Tipos primitivos - valores numéricos
● Para tipo inteiro ou ponto flutuante utiliza-se NSInteger e
CGFloat
● Arquitetura 64 bits
● Desde o dia 1 de Fevereiro de 2015, todas as apps são
obrigadas a suportar
● Aumento de tamanho das variáveis e alinhamentos de
regras de memória
19. Quando uma nova classe é criada, dois arquivos
são adicionados no projeto:
Estrutura
20. O arquivo .h é a interface. Possui todas assinaturas dos
métodos públicos a serem implementados e também
propriedades dos objetos que podem ser acessados por
outras classes.
Estrutura
21. O arquivo .m é a implementação de todos os métodos
declarados no arquivo .h.
Local onde toda lógica será inserida (ações de botões, cores
de componentes.
Estrutura
23. O XCode possui uma interface muito simples de ser utilizada
para componentes de UI:
● Mecanismo "clica e arrasta"
● Todos os elementos da interface são ligados com as
declarações nos arquivos da classe (.h e .m)
Elementos de interface / Interface Builder
24. Declarando um label no arquivo .h
@property (nonatomic, weak) UILabel* lblGroupName;
Referência:
http://stackoverflow.com/questions/9859719/objective-c-declared-property-
attributes-nonatomic-copy-strong-weak
Elementos de interface / Interface Builder
29. BOOLEAN - YES or NO - Substituindo o TRUE or FALSE
self - referenciar objetos ou chamar métodos da mesma
classe
nil - no lugar de null
Algumas mudanças...