Objective-C Introducción

En el desarrollo de iOS se utiliza el lenguaje Objective C, que es un lenguaje orientado a objetos, por lo que es muy sencillo para los programadores que ya dominan los conceptos de los lenguajes orientados a objetos.


Interfaz e implementación

En Objective C, los archivos que se crean se denominan archivos de interfaz, y la definición de dichos archivos se denomina archivo de implementación.

Un archivo de interfaz simple, MyClass.h, se muestra a continuación:

@interface MyClass:NSObject{ 
// 类变量声明
}
// 类属性声明
// 类方法和声明
@end

El archivo MyClass.m se implementa de la siguiente manera

@implementation MyClass
// 类方法定义
@end

Creación de objetos

Para completar la creación de un objeto, como se muestra a continuación:

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

Métodos

Los métodos declarados en Objective C son los siguientes:

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

A continuación se muestra un ejemplo:

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

Quizás te preguntes qué es la cadena "andBreadth". En realidad, su cadena opcional nos ayuda a leer y comprender los métodos, especialmente cuando se llama al método.

Para llamar a este método en la misma clase, usamos la siguiente declaración.

[self calculateAreaForRectangleWithLength:30 andBreadth:20];

Como se mencionó anteriormente, el uso de "andBreadth" nos ayuda a entender que "breadth" es 20. "Self" se usa para especificar que es un método de la clase.

Métodos de clase

Los métodos de clase se pueden acceder directamente sin necesidad de crear objetos. No tienen variables ni objetos asociados. El ejemplo es el siguiente:

+(void)simpleClassMethod;

Se puede acceder a ellos usando el nombre de la clase (suponiendo MyClass como nombre de la clase), como se muestra a continuación:

[MyClass simpleClassMethod];
Métodos de instancia

Solo se puede acceder a los métodos de instancia después de crear un objeto de la clase, con memoria asignada a las variables de instancia. Los métodos de instancia son los siguientes:

-(void)simpleInstanceMethod; 

Una vez creado el objeto de la clase, puede acceder a él. Como se muestra a continuación:

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

Tipos de datos importantes en Objective C

N.ºTipo de datos
1NSString: cadena
2CGfloat: tipo básico para valores de coma flotante
3NSInteger: entero
4BOOL: booleano

Imprimir registros (logs)

NSLog se utiliza para imprimir una declaración, que se imprimirá en el registro del dispositivo, en la consola de la versión de depuración y en el modo de depuración respectivamente.

Como NSlog(@"");


Estructuras de control

La mayoría de las estructuras de control son las mismas que en C y C++, excepto por algunas cláusulas adicionales.

Propiedades

Se usan para acceder a las propiedades de las variables de una clase desde el exterior de la clase.

Por ejemplo: @property (nonatomic, strong) NSString*myString

Acceso a las propiedades

Se puede acceder a las propiedades mediante el operador de punto. Para acceder a la propiedad anterior, se puede hacer lo siguiente:

self.myString = @"Test";

También se puede usar el método set, como se muestra a continuación:

[self setMyString:@"Test"];

Categorías

Las categorías se utilizan para agregar métodos a una clase existente. Mediante este método, se pueden agregar métodos a una clase, incluso sin usar un archivo de implementación, donde se define la clase real. Una categoría de muestra de MyClass es la siguiente:

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

@implementation MyClass(categoryAdditions)

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

Arreglos

NSMutableArray y NSArray son las clases de arreglos utilizadas en Objective C; la primera es un arreglo mutable y la segunda es un arreglo inmutable. Como se muestra a continuación:

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

Diccionarios

NSMutableDictionary y NSDictionary son los diccionarios utilizados en Objective C; el primero es un diccionario mutable y el segundo es un diccionario inmutable, como se muestra a continuación:

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