iOS - Objetivo C
A linguagem usada no desenvolvimento do iOS é o objetivo C. É uma linguagem orientada a objetos e, portanto, seria fácil para aqueles que têm alguma experiência em linguagens de programação orientadas a objetos.
Interface e Implementação
No Objective C, o arquivo onde é feita a declaração da classe é chamado de interface file e o arquivo onde a classe é definida é chamado de implementation file.
Um arquivo de interface simples MyClass.h se pareceria com o seguinte -
@interface MyClass:NSObject {
// class variable declared here
}
// class properties declared here
// class methods and instance methods declared here
@end
O arquivo de implementação MyClass.m seria a seguinte -
@implementation MyClass
// class methods defined here
@end
Criação de Objetos
A criação do objeto é feita da seguinte maneira -
MyClass *objectName = [[MyClass alloc]init] ;
Métodos
O método é declarado no Objective C da seguinte forma -
-(returnType)methodName:(typeName) variable1 :(typeName)variable2;
Um exemplo é mostrado abaixo.
-(void)calculateAreaForRectangleWithLength:(CGfloat)length
andBreadth:(CGfloat)breadth;
Você pode estar se perguntando o que andBreadthstring é para; na verdade, é uma string opcional, que nos ajuda a ler e entender o método facilmente, especialmente no momento da chamada. Para chamar este método na mesma classe, usamos a seguinte instrução -
[self calculateAreaForRectangleWithLength:30 andBreadth:20];
Como dito acima, o uso de andBreadth nos ajuda a entender que amplitude é 20. Self é usado para especificar que é um método de classe.
Métodos de aula
Os métodos de classe podem ser acessados diretamente, sem criar objetos para a classe. Eles não têm variáveis e objetos associados a eles. Um exemplo é mostrado abaixo.
+(void)simpleClassMethod;
Ele pode ser acessado usando o nome da classe (vamos assumir o nome da classe como MyClass) da seguinte forma -
[MyClass simpleClassMethod];
Métodos de Instância
Os métodos de instância podem ser acessados somente após a criação de um objeto para a classe. A memória é alocada para as variáveis de instância. Um exemplo de método de instância é mostrado abaixo.
-(void)simpleInstanceMethod;
Ele pode ser acessado após a criação de um objeto para a classe da seguinte maneira -
MyClass *objectName = [[MyClass alloc]init] ;
[objectName simpleInstanceMethod];
Tipos de dados importantes no Objective C
Sr. Não. | Tipo de dados |
---|---|
1 | NSString É usado para representar uma string. |
2 | CGfloat É usado para representar um valor de ponto flutuante (flutuação normal também é permitida, mas é melhor usar CGfloat). |
3 | NSInteger É usado para representar inteiros. |
4 | BOOL Ele é usado para representar Boolean (YES ou NO são os tipos BOOL permitidos). |
Impressão de registros
NSLog - usado para imprimir uma declaração. Ele será impresso nos logs do dispositivo e console de depuração nos modos de liberação e depuração, respectivamente. Por exemplo,
NSlog(@"");
Estruturas de controle
A maioria das estruturas de controle são as mesmas em C e C ++, exceto por alguns acréscimos, como for in statement.
Propriedades
Para uma classe externa acessar a classe, propriedades variáveis são usadas. Por exemplo,
@property(nonatomic , strong) NSString *myString;
Acessando Propriedades
Você pode usar o operador ponto para acessar as propriedades. Para acessar a propriedade acima, faremos o seguinte.
self.myString = @"Test";
Você também pode usar o método set da seguinte maneira -
[self setMyString:@"Test"];
Categorias
As categorias são usadas para adicionar métodos às classes existentes. Desta forma, podemos adicionar método a classes para as quais não temos nem mesmo arquivos de implementação onde a classe real é definida. Um exemplo de categoria para nossa classe é o seguinte -
@interface MyClass(customAdditions)
- (void)sampleCategoryMethod;
@end
@implementation MyClass(categoryAdditions)
-(void)sampleCategoryMethod {
NSLog(@"Just a test category");
}
Arrays
NSMutableArray e NSArray são as classes de array usadas no objetivo C. Como o nome sugere, o primeiro é mutável e o último é imutável. Um exemplo é mostrado abaixo.
NSMutableArray *aMutableArray = [[NSMutableArray alloc]init];
[anArray addObject:@"firstobject"];
NSArray *aImmutableArray = [[NSArray alloc]
initWithObjects:@"firstObject",nil];
Dicionário
NSMutableDictionary e NSDictionary são as classes de dicionário usadas no objetivo C. Como o nome sugere, a primeira é mutável e a última é imutável. Um exemplo é mostrado abaixo.
NSMutableDictionary *aMutableDictionary = [[NSMutableArray alloc]init];
[aMutableDictionary setObject:@"firstobject" forKey:@"aKey"];
NSDictionary*aImmutableDictionary= [[NSDictionary alloc]initWithObjects:[NSArray arrayWithObjects:
@"firstObject",nil] forKeys:[ NSArray arrayWithObjects:@"aKey"]];