Blog sobre tecnologia, seriados, esportes, jogos e coisas nerds
RSS icon Home icon
  • Introdução ao Objective-C – parte 2 (classes)

    Posted on January 5th, 2010 Alex Chiaranda No comments

    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:

    #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 );
    }
    

    Para compilar um programa usando o GCC em qualquer plataforma suportada, basta digitar o seguinte:

    gcc -framework Foundation MyFirstClass.m -o MyFirstClass

    se não houve nenhum erro o executável “MyFirstClass” será criado, e quando executado exibirá a seguinte saída:

    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$
    

    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.