Agora que você já teve o primeiro contato com a linguagem (no post anterior), vamos ver como declarar classes, métodos e propriedades.
Em Objective-C usa-se a seguinte nomenclatura para os arquivos:
- arquivo.h – header
- arquivo.m – arquivo que pode conter tanto código Objective-C como C
Para esse tutorial eu usarei o XCode (falarei mais sobre ele depois), mas qualquer editor de texto serve para editar os arquivos, e o GCC cria os executáveis. Neste código específico, usarei o “vi” e o compilador “gcc” apenas para exemplificar como proceder neste caso.
Vamos agora para a nossa primeira classe, vou chama-la de “MyFirstClass.m”, para este exemplo, vou digitar todo o código no mesmo arquivo:
[code lang=”c”]
#import <Foundation/Foundation.h>
@interface MyFirstClass : NSObject
{
int aInt;
}
-(int) aInt;
-(void) setAInt: (int) _aInt;
-(void) print;
@end
@implementation MyFirstClass
-(void) print
{
NSLog(@"Número informado é: %i", aInt);
}
-(void) setAInt: (int) _aInt
{
aInt = _aInt;
}
-(int) aInt
{
return aInt;
}
@end
int main(int argc, const char *argv[])
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
MyFirstClass *m = [[MyFirstClass alloc] init];
[m setAInt: 5];
[m print];
[m release];
[pool drain];
return ( 0 );
}
[/code]
Para compilar um programa usando o GCC em qualquer plataforma suportada, basta digitar o seguinte:
[code lang=”c”]gcc -framework Foundation MyFirstClass.m -o MyFirstClass[/code]
se não houve nenhum erro o executável “MyFirstClass” será criado, e quando executado exibirá a seguinte saída:
[code]
Alex-Chiarandas-MacBook-Pro:trainning aechiara$ ./MyFirstClass
2010-01-05 22:02:15.169 MyFirstClass[380:903] Número informado é: 5
Alex-Chiarandas-MacBook-Pro:trainning aechiara$
[/code]
Divirta-se alterando o código para exibir outras mensagens ou realizar somas por exemplo. O NSLog se comporta como o “printf” do C.
Até o próximo artigo.
nao explicou porra nenhuma na classe!
não era o escopo do artigo explicar o que é uma classe ou orientação a objetos, apenas como criá-la em Objective-C, e é isso que acontece na linha 3 do código.
náo entendi o que isso faz! int main(int argc, const char *argv[])
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
MyFirstClass *m = [[MyFirstClass alloc] init];
[m setAInt: 5];
[m print];
[m release];
[pool drain];
return ( 0 );
}
Para compilar u
Tiago esse é o código de um programa que executa na console.
Se estiver utilizando o vi, é só fazer como o artigo diz, cria um arquivo chamado MyFirstClass.m, copia ou digita esse conteúdo lá, e salva.
depois executa o gcc (como o artigo mostra), para ter o gcc disponível, você deve instalar o XCode, você pode baixá-lo gratuitamente no site de desenvolvimento da Apple.
O que o código faz é o seguinte, ele cria uma nova instância da classe MyFirstClass, chama um método que set um número inteiro com 5 e depois imprime ele.