Me di a la tarea de dar mis primeros pasos con objective-c para IOS (iPhone, iPad y MacOS) y me gustaría compartir con ustedes algunas de mis experiencias.
Para tener un punto de inicio comencé bajando unos libros en formato iBooks de Juan M. Cigarran y publicando el código fuente de los ejercicios en github.
Actualmente me encuentro haciendo como practica una calculadora exactamente igual a la que trae consigo el iPhone y me he encontrado algunos de los siguientes inconvenientes:
- Conocer algunos de los tipos de datos básicos
- Crear un metodo
- Llamar a un metodo
- Hacer conversiones de NSString a double
- Concatenar dos NSString
Para facilitarles un poco el trabajo les comparto el aprendizaje adquirido:
Conocer algunos de los tipos de datos básicos
Dentro de objective-c existen tipos primitivos (algunos heredados de c) como int, double, NSInteger, boolean por lo que no hay que reservar espacio de memoria para ellos y objetos donde es necesario reservar espacio de memoria dinámico e inicializarlos; por ejemplo para manejar cadenas tenemos el tipo NSString (cadenas inmutables) y NSMutableString (cadenas que pueden modificarse).
Algunos ejemplos de declaraciones de variables son:
NSString *stack; double operando; NSInteger x;
Crear un metodo
-(void)metodo:(int)primerParametro{ //bla bla bla }
- Donde el menos ( – ) indica que es un metido de instancia y el ( + ) indicaría que es de Clase.
- Entre parentesis va el tipo de retorno del metodo, en caso de no retornar nada se utiliza la palabra reservada void
- Luego viene el nombre del método
- Posteriormente el tipo de dato del primer parámetro entre paréntesis
- Finalmente el nombre del primer parámetro
Llamar a un metodo (Mensaje)
El modelo de programación orientada a objetos de Objective-C se basa en enviar mensajes a instancias de objetos. Esto es diferente al modelo de programación al estilo de Simula, utilizado por C++ y ésta distinción es semánticamente importante. En Objective-C uno no llama a un método; uno envía un mensaje, y la diferencia entre ambos conceptos radica en cómo el código referido por el nombre del mensaje o método es ejecutado.
Enviar el mensaje method al objeto apuntado por el puntero obj requeriría el siguiente código en C++:
obj->method(parameter);
mientras que en Objective-C se escribiría como sigue:
[obj method:parameter];
Hacer conversiones de NSString a double
Para convertir un NSString a double, es tan sencillo como llamar al método doubleValue de la misma, es decir:
NSString *var; double x; var = @"1"; x = [var doubleValue];
Concatenar dos NSString
Para concatenar dos cadenas del tipo inmutables (NSString) se debe llamar al método stringByAppendingString de la siguiente manera:
NSString *var; var = @“hola”; var =[var stringByAppendingString:@“como estas?” ];
Y con esto terminamos nuestros primeros pasos con objective-c, si quieres seguir aprendiendo visita nuestra categoría de programación para iPhone