iOS: objetivo C

El lenguaje utilizado en el desarrollo de iOS es el objetivo C. Es un lenguaje orientado a objetos y, por lo tanto, sería fácil para aquellos que tienen alguna experiencia en lenguajes de programación orientados a objetos.

Interfaz e implementación

En Objective C, el archivo donde se realiza la declaración de clase se llama interface file y el archivo donde se define la clase se llama implementation file.

Un archivo de interfaz simple MyClass.h se vería así:

@interface MyClass:NSObject { 
   // class variable declared here
}

// class properties declared here
// class methods and instance methods declared here
@end

El archivo de implementación MyClass.m sería el siguiente -

@implementation MyClass
   // class methods defined here
@end

Creación de objetos

La creación de objetos se realiza de la siguiente manera:

MyClass  *objectName = [[MyClass alloc]init] ;

Métodos

El método se declara en el objetivo C de la siguiente manera:

-(returnType)methodName:(typeName) variable1 :(typeName)variable2;

A continuación se muestra un ejemplo.

-(void)calculateAreaForRectangleWithLength:(CGfloat)length 
andBreadth:(CGfloat)breadth;

Tal vez se pregunte qué andBreadthcadena es para; en realidad es una cadena opcional, que nos ayuda a leer y comprender el método fácilmente, especialmente en el momento de la llamada. Para llamar a este método en la misma clase, usamos la siguiente declaración:

[self calculateAreaForRectangleWithLength:30 andBreadth:20];

Como se dijo anteriormente, el uso de andBreadth nos ayuda a comprender que la amplitud es 20. Self se usa para especificar que es un método de clase.

Métodos de clase

Se puede acceder a los métodos de clase directamente sin crear objetos para la clase. No tienen variables ni objetos asociados. A continuación se muestra un ejemplo.

+(void)simpleClassMethod;

Se puede acceder usando el nombre de la clase (supongamos que el nombre de la clase es MyClass) de la siguiente manera:

[MyClass simpleClassMethod];

Métodos de instancia

Solo se puede acceder a los métodos de instancia después de crear un objeto para la clase. La memoria se asigna a las variables de instancia. A continuación se muestra un ejemplo de método de instancia.

-(void)simpleInstanceMethod;

Se puede acceder después de crear un objeto para la clase de la siguiente manera:

MyClass  *objectName = [[MyClass alloc]init] ;
[objectName simpleInstanceMethod];

Tipos de datos importantes en el objetivo C

No Señor. Tipo de datos
1

NSString

Se utiliza para representar una cadena.

2

CGfloat

Se utiliza para representar un valor de punto flotante (también se permite el flotador normal, pero es mejor utilizar CGfloat).

3

NSInteger

Se utiliza para representar números enteros.

4

BOOL

Se utiliza para representar booleanos (YES o NO son tipos BOOL permitidos).

Impresión de registros

NSLog: se utiliza para imprimir una declaración. Se imprimirá en los registros del dispositivo y en la consola de depuración en los modos de liberación y depuración respectivamente. Por ejemplo,

NSlog(@"");

Estructuras de Control

La mayoría de las estructuras de control son las mismas que en C y C ++, excepto por algunas adiciones como en la declaración.

Propiedades

Para que una clase externa acceda a la clase, se utilizan propiedades variables. Por ejemplo,

@property(nonatomic , strong) NSString *myString;

Accediendo a Propiedades

Puede utilizar el operador de puntos para acceder a las propiedades. Para acceder a la propiedad anterior, haremos lo siguiente.

self.myString = @"Test";

También puede utilizar el método de configuración de la siguiente manera:

[self setMyString:@"Test"];

Categorías

Las categorías se utilizan para agregar métodos a las clases existentes. De esta manera, podemos agregar métodos a las clases para las que no tenemos ni siquiera archivos de implementación donde se define la clase real. Una categoría de muestra para nuestra clase es la siguiente:

@interface MyClass(customAdditions)
- (void)sampleCategoryMethod;
@end

@implementation MyClass(categoryAdditions)

-(void)sampleCategoryMethod {
   NSLog(@"Just a test category");
}

Matrices

NSMutableArray y NSArray son las clases de matriz utilizadas en el objetivo C. Como sugiere el nombre, la primera es mutable y la segunda es inmutable. A continuación se muestra un ejemplo.

NSMutableArray *aMutableArray = [[NSMutableArray alloc]init];
[anArray addObject:@"firstobject"];
NSArray *aImmutableArray = [[NSArray alloc]
initWithObjects:@"firstObject",nil];

Diccionario

NSMutableDictionary y NSDictionary son las clases de diccionario utilizadas en el objetivo C. Como sugiere el nombre, el primero es mutable y el segundo es inmutable. A continuación se muestra un ejemplo.

NSMutableDictionary *aMutableDictionary = [[NSMutableArray alloc]init];
[aMutableDictionary setObject:@"firstobject" forKey:@"aKey"];
NSDictionary*aImmutableDictionary= [[NSDictionary alloc]initWithObjects:[NSArray arrayWithObjects:
@"firstObject",nil] forKeys:[ NSArray arrayWithObjects:@"aKey"]];