Tutorial iOS – Aula 01 de Objective C

On 6 de outubro de 2014 by Conrado Carneiro

Hoje iremos iniciar uma seqüência de tutorias cujo o objetivo é abordar desde a linguagem Objective C, o ambiente Xcode ao desenvolvimento iOS. Então a primeira coisa que devemos aprender é a estrutura da linguagem, que atualmente é o Objective C.

Breve história da Linguagem Objective C

Também conhecida como ObjC ou Obj-C, foi criada em 1980 por Brad Cox e Tom Love na empresa Stepstone. Já em 1988 a empresa NEXT de Steve Jobs licenciou a linguagem e adotou como padrão, mais tarde quando a NEXT foi comprada pela Apple a linguagem também foi adotada.

A Estrutura da Linguagem

1. Headers e Implementação – Visão geral

Header (.h)

[sourcecode language=”objc” wraplines=”false” collapse=”false”]
#import <Foundation/Foundation.h>

@interface Car : NSObject
{
BOOL status;
}
@property (nonatomic, retain) NSString *name;
@property (nonatomic, retain) NSString *marca;
@property (nonatomic, retain) NSNumber *potencia;
@property (nonatomic) NSUInteger carID;

– (void) turnOnOff: (BOOL) statusCar;

@end
[/sourcecode]

Implementação (.m)

[sourcecode language=”objc” wraplines=”false” collapse=”false”]
#import "Car.h"

@implementation Car

@synthesize name;
@synthesize marca;
@synthesize potencia;
@synthesize carID;

– (void) turnOnOff: (BOOL) statusCar {
// faz alguma coisa
}
@end
[/sourcecode]

2. Alocando e iniciando um Objeto

[sourcecode language=”objc” wraplines=”false” collapse=”false”]
Car *basicCar = [[Car alloc] init];
[/sourcecode]

3. Metodos e Funções

3.1 Metodo

[sourcecode language=”objc” wraplines=”false” collapse=”false”]
– (void) displayInfo {

NSLog(@"Nome do carro: %@ – Marca: %@",name, marca);

}
[/sourcecode]

3.2 Função

[sourcecode language=”objc” wraplines=”false” collapse=”false”]
– (double) somaValueA:(double) value1 withValueB: (double) value2 {
return value1+value2;
}
[/sourcecode]

4. Construtor

[sourcecode language=”objc” wraplines=”false” collapse=”false”]
– (id) initWithName:(NSString *) nameTmp {
self = [super init];
if (self) {
name = nameTmp;
}
return self;
}
[/sourcecode]

Utilizando o Construtor:

[sourcecode language=”objc” wraplines=”false” collapse=”false”]
Car *basicCar = [[Car alloc] initWithName:@"Gol-1.0"];
[/sourcecode]

5. Herança

Caminhão.h

[sourcecode language=”objc” wraplines=”false” collapse=”false”]
#import <Foundation/Foundation.h>
#import "Car.h"
@interface Caminhao : Car
@property (nonatomic, retain) NSString *carga;
@property (nonatomic, retain) NSString *capacidade;
@property (nonatomic, retain) NSString *pesoMaximo;
@end
[/sourcecode]

Caminhão.m

[sourcecode language=”objc” wraplines=”false” collapse=”false”]
#import "Caminhao.h"

@implementation Caminhao
@synthesize capacidade;
@synthesize pesoMaximo;
@synthesize carga;

– (id) initWithName:(NSString *) nameTmp {
self = [super initWithName:nameTmp];
if (self) {
capacidade = @"200";
}
return self;
}
@end
[/sourcecode]

Criando um objeto com herança:

[sourcecode language=”objc” wraplines=”false” collapse=”false”]
Caminhao *caminhao1 = [[Caminhao alloc] initWithName:@"Mercedez"];
[/sourcecode]

Na próxima aula iremos analisar algumas estruturas do Objective-C como o For, Switch e if else..

Até a próxima!

Deixe um comentário

O seu endereço de e-mail não será publicado.