BGames
Olá visitante! Seja bem vindo á BGames!

Para ter total acesso ao nosso fórum é preciso que você se registre.

Registre-se Aqui!


PARA VER LINKS E IMAGENS É PRECISO SE REGISTRAR!


BGames
Olá visitante! Seja bem vindo á BGames!

Para ter total acesso ao nosso fórum é preciso que você se registre.

Registre-se Aqui!


PARA VER LINKS E IMAGENS É PRECISO SE REGISTRAR!

BGames
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

BGamesEntrar

Fórum de Desenvolvimento de Jogos e Programação


description[Tutorial] Noções Básicas Empty[Tutorial] Noções Básicas

more_horiz
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.


[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]


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


[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]


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:


[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]


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:



Código:

@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)


strong / weak : Duração da variavel em memória;
readwrite/readonly: Escrita e leitura da variavel ou só leitura da variavel;
nonatomic / atomic.


Sem ARC:


retain / assign.


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:



Código:

@implementation MyClass

Código:


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



Créditos pplware :

  

description[Tutorial] Noções Básicas EmptyRe: [Tutorial] Noções Básicas

more_horiz
Gostei... Muito bom
privacy_tip Permissões neste sub-fórum
Não podes responder a tópicos
power_settings_newInicie sessão para responder