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

Шрифт
Фон

o aceite o valor padrão do resto dos campos

Por último, conecte o label que tem o texto Dados salvos com sucesso cri-

ando uma Connection do tipo Outlet, e o Name avisoSucessoLabel

Neste ponto o arquivo ViewController.h deverá estar como o código abaixo:

# import <UIKit / UIKit.h>

@interface ViewController : UIViewController

@property (weak, nonatomic) IBOutlet UITextField *nomeField;

@property (weak, nonatomic) IBOutlet UITextField *quantidadeField;

@property (weak, nonatomic) IBOutlet UILabel *avisoSucessoLabel;

- (IBAction)incrementadorAlterado:(id)sender;

- (IBAction)salvar:(id)sender;

@end

Se você abrir o arquivo ViewController.m verá que o Xcode já criou para a

gente o corpo dos métodos incrementadorAlterado: e salvar:.

34

Casa do Código

Capítulo 3. Mais Objective-C e Xcode

O que exatamente é IBOutlet e IBAction?

Os modificadores IBOutlet e IBAction são usados unicamente

como marcadores para integrar componentes do Interface Builder com

o código-fonte em arquivos .h. O primeiro é usado quando queremos

referenciar o componente no código através de uma variável, e o segundo

é usado exclusivamente para ações dos componentes, como o toque em

um botão. Por trás dos panos, o que o Xcode faz é analisar o código e

automaticamente realizar as devidas conexões entre a interface gráfica e

o nosso código.

3.7

Uma classe para representar uma empresa

Agora que já temos a tela criada, é hora de colocar a mão no código, e o primeiro

passo é criar a classe Empresa para armazenar as informações preenchidas pelo

usuário. Para isso, abra a janela de adição de arquivos ( Command + N, ou então

File -> New -> File...), e selecione o template Objective-C class. Clique no botão Next, insira o valor Empresa no campo Class, e em Subclass of selecione o item NSObject.

Clique em Next:: para salvar o arquivo.

Importante

Ao incluir arquivos em qualquer projeto que for trabalhar, certifique-

se de que a opção Targets esteja selecionada na caixa de diálogo de salvar

arquivo conforme mostra a figura 3.9. Isso é necessário para associar o

arquivo com o projeto do contrário, o Xcode ignorá-lo-ia na hora de

compilar e empacotar o projeto para distribuição.

35

3.7. Uma classe para representar uma empresa

Casa do Código

Figura 3.9: Target corretamente selecionado

Alternando novamente entre os painéis

Trabalhar no Xcode é um processo constante entre esconder, mostrar

e mudar o tipo dos painéis de acordo com a tarefa a ser feita, de modo

que nossa produtividade aumente. No caso desta seção, onde já criamos

a tela e vamos focar mais em código, não é necessário manter o arquivo

Main.storyboard aberto e nem o painel Utilities. Alterne para o Stan-

dard Editor utilizando a tecla de atalho Command + ENTER, e esconda

o outro painel com o atalho Option + Command + 0, e selecione o

arquivo ViewController.m no Navigator ( Command + 1)

A nossa empresa tem duas propriedades: nome (uma string) e quantidade de

funcionários (número inteiro). Abra

o arquivo Empresa.h e modifique-o para ficar

como o código abaixo:

1 # import <Foundation / Foundation.h>

2

36

Casa do Código

Capítulo 3. Mais Objective-C e Xcode

3 @interface Empresa : NSObject

4

5 @property (nonatomic, retain) NSString *nome;

6 @property (nonatomic, assign) int quantidadeFuncionarios;

7

8 @end

Não é necessário fazer qualquer modificação no arquivo Empresa.m.

3.8

Cabeçalhos e implementações

Em Objective-C, a declaração e implementação da classe ficam em arquivos diferen-

tes. A declaração, ou usando o termo correto interface, fica em um arquivo

com a extensão .h, de header (cabeçalho), enquanto que a implementação fica em

um arquivo com a extensão .m. Diferentemente de outras linguagens, nas quais se

usa apenas um arquivo para tudo o que diz respeito à classe, em Objective-C você

sempre precisará da dupla .h e .m.

No arquivo de cabeçalho (como o Empresa.h) fica a declaração da classe, das

variáveis de instância, das propriedades, dos métodos de instância e dos métodos de

classe.

Nota sobre @interface

A declaração @interface é semanticamente muito diferente da

mesma palavra-chave no Java e C#, em que representa um determi-

nado contrato que a classe deve seguir. Em Objective-C, @interface

serve unicamente para declarar a classe, e o equivalente da palavra chave

interface do Java e do C# é @protocol, que veremos em um outro

capítulo.

Enquanto o cabeçalho define apenas a estrutura geral da classe, e não o có-

digo propriamente dito, o arquivo .m contém o código de verdade, como arquivo

ViewController.m ou Empresa.m.

37

3.9. Informando a quantidade de funcionários

Casa do Código

Curiosidade sobre a extensão .M

A extensão .m do Objective-C originou-se a partir de mensagens

(do termo em inglês messages), a qual se refere a um dos principais con-

ceitos da linguagem.

3.9

Informando a quantidade de funcionários

Estamos na metade do caminho, mas o resto é só código! Agora que temos a tela e a

classe Empresa vamos colocar as ações nos métodos de incrementar a quantidade

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

0
Шрифт
Фон

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