Pplware

Linguagem Objective-c – Noções Básicas

A linguagem Objective-C, nasceu na empresa NeXT antiga empresa criada pelo Steve Jobs quando este saiu da Apple. Quando em 1996 a Apple compra a empresa NeXT começa a desenvolver então na linguagem Objective-C.

Esta linguagem é orientada a objectos, é uma extensão à linguagem C e case-sensitive.

Há dois tipos de ficheiros em objective-c o ficheiro .h (interface) e o ficheiro source o ficheiro .m.

Header file (.h)

No ficheiro .h inicia-se com o @interface seguido do nome da classe e do nome da classe Pai. Como mostra a figura, declaramos os tipos das variáveis e os nomes e no final declaramos os métodos da nossa classe.

Como podemos ver na figura, temos duas diferenças na declaração dos metodos, o primeiro metodo inicia-se com o sinal de “-” e o segundo metodo inicia-se com o sinal de “+”, o que quer dizer que os metodos inicializados com o sinal de “-” são metodos da instancia e metodos inicializados com o sinal de “+” são metodos da classe.

Métodos:

Os metodos em obj-c declaram-se da seguinte maneira:

Mais detalhadamente, como já foi referido acima, o “Method type Identifier” é o sinal de “-” ou o sinal de “+”. O tipo de retorno da nossa função.

As keywords são como  o nome diz as keywords que irão aparecer quando chamarmos o nosso metodo para seguido do sinal de “:” indicarmos qual o objecto a mandar por parametro.

O “Parameter type” é o tipo da variavel esperada para a keyword e o “Parameter names” são os nomes depois que vão ser utilizados para manipular mos os dados quando formos programar no ficheiro .m o que vai fazer o nosso metodo, processo semelhante ao Java.

Propriedades:

As propriedades são utilizadas para substituir os metodos de acesso as váriaveis, ou seja, declaramos uma variavel e ele automáticamente cria os getters e os setters para ir buscar os valores das variaveis e atribuir valores as variaveis, se assim o quisermos.

Exemplo da uma declaração de uma propriedade:

@property (readonly) UIView *rootView;  // Declare only a getter method.

As propriedades permitem definir o tipo de acesso a váriavel, a duração da variavel em memória.

Como podemos ver no exemplo, a variavel é readonly, ou seja, só vai ser construido automáticamente o getter à variavel para se conseguir ir buscar os dados do objeto.

Os outros tipos de parametros para o property são:

Em ARC (Automatic Reference Counting)

Sem ARC:

No ficheiro .m para aceder a propriedade utiliza-se o @synthesize.

Utilizando o exemplo acima, no nosso ficheiro .m, só teriamos que escrever @synthesize rootView;

Gestão de memória:

A gestão de memória em objective-c pode ser feita de duas maneiras, através do ARC (Automatic Reference Counting), em que o utilizador não necessita de se preocupar com a gestão de variaveis instanciadas ou então atraves de MMR (“Manual Retain-Release) em que neste caso o utilizador tem que fazer “release” das variaveis que já não necessita para não estarem a ocupar espaço em memória.

Exemplo de uma classe:

@implementation MyClass
 - (id)initWithString:(NSString *)aName
 {
 self = [super init];
 if (self) {
 name = [aName copy];
 }
 return self;
 }
 + (MyClass *)createMyClassWithString: (NSString *)aName
 {
 return [[[self alloc] initWithString:aName] autorelease];
 }
 @end


Referências: Learning Objective-C: A Primer

Exit mobile version