Curso Básico Objective C: Variables básicas y Operadores Aritméticos

Las variables básicas de Objetive C funcionan como en C, veamos los tipos básicos:

int

    Declaración:

    int entero;

    Asignación:

         
            entero=1;
            NSLog(@”%d”,entero);

    short, long, unsigned

            short corto=3;
            NSLog(@”%d”,corto);
            
            long largo=33424234;
            NSLog(@”%ld”,largo);
            
            unsigned long muylargo=21312313424545;
            NSLog(@”%ld”,muylargo);

    Coma flotante (con decimales): float, double

            float condecimales=3.3f;
            NSLog(@”%f”,condecimales);

            

            double conmuchosdecimales=3.34453543546;

            NSLog(@”%f”,conmuchosdecimales);

    Booleanos

            BOOL primera=YES;
            NSLog(@”%d”,primera);
            primera=NO;
            NSLog(@”%d”,primera);
            primera=TRUE;
            primera=true;
            primera=1;

    Caracteres

            char caracter=‘a’;

            

            NSLog(@”%c”,caracter);

    Literales de Cadena de Caracteres 

            

            NSLog(@”nuevalineaya!notra linea”);

    Operadores Aritméticos

            int i=1;
            int j=3;

            

            int k=0;
            float res;

            

            k=i+j;
            NSLog(@”%d”, k);

            i+=j;
            NSLog(@”%d”, i);

            k=i-j;
            NSLog(@”%d”, k);

            i-=j;
            NSLog(@”%d”, i);

            k=i*j;
            NSLog(@”%d”, k);

            i*=j;
            NSLog(@”%d”, i);

            // hay que hacer casting a float

            res=(float)i/j;
            NSLog(@”%f”, res);

            res/=j;
            NSLog(@”%f”, res);

    Curso de Objective C Básico: Introducción al Lenguaje de programación Objective C

    Ya teniendo claro como funciona el entorno, lo suyo es empezar por las bases del lenguaje, sus características principales y su funcionamiento básico.

    Introducción

    Teniendo claro como crear proyectos en Xcode, ahora ya podemos incluir nuevo código en los proyectos. Para empezar y sin que sirva de precedente modificaremos el fichero main.m.
    Los ficheros .m son los ficheros de implementación y los ficheros .h serán los ficheros de cabecera. Como puede apreciarse en sus similitudes, básicamente Objective C es como C pero vitaminado y orientado a objetos por lo que dispondremos de bibliotecas de clases bastante potentes a la hora de hacer nuestras aplicaciones, como este curso está enfocado a aprender el lenguaje en sí mismo, no veremos muchas de las bibliotecas disponibles para el lenguaje, ya que muchas de ellas van enfocadas al desarrollo gráfico de aplicaciones que es donde Objective C destaca, pero como todo se debe aprender desde lo básico es por donde vamos a empezar. 

    Estructura del fichero main.m

    Como en un lenguaje derivado de C tenemos todos los elementos de este lenguaje disponibles, estructuras de control y variables incluidas, pero veamos el ejemplo del fichero generado por el asistente de Xcode:
    //
    //  main.m
    //  00_introduccion
    //
    //  Created by pepesan on 24/02/14.
    //  Copyright (c) 2014 pepesan. All rights reserved.
    //
    #import <Foundation/Foundation.h>
    int main(int argc, const char * argv[])
    {
        @autoreleasepool {
            
            // insert code here…
            NSLog(@”Hello, World!”);
            
        }
        return 0;
    }

    Comentarios

    Como se puede ver en el código, tenemos los típicos comentarios de una línea al principio del fichero, que son los // que vemos al principio de cada línea, aunque también podemos disponer de los comentarios de varias líneas /*…*/ he aquí los ejemplos

    //comentario de una línea
            
    /*
    Comentario de varias líneas

    */

    Imports

    Las importaciones son como las inclusiones de C, nos permiten tener acceso a otros ficheros para incluir su contenido y definiciones, pero como en Objective C las bibliotecas son muy completas, normalmente nos facilitan su inclusión mediante un fichero de cabecera de resumen que incluye todo el contenido de la biblioteca con un sólo import, en el ejemplo tenemos la inclusión de la biblioteca principal de objetos de Objective C
    #import <Foundation/Foundation.h>
    Esta biblioteca es la que tiene los objetos de datos principales, podemos consultar las clases desde la página oficial de Apple:
    Siempre que necesitemos hacer uso de otra clase en un fichero .m tendremos que hacer referencia al fichero de cabecera .h que defina dicha clase o conjunto de clases.

    Función main

    Como la función main de C será la encargada de gestionar el flujo principal de nuestra aplicación. Tiene los típicos parámetro de entrada de C, con el número de argumentos y los argumentos de llamada al programa desde línea de comandos y tiene que devolver un número entero como valor de resultado del programa, lo típico. Si vienes de C lo entenderás a la primera. 
    int main(int argc, const char * argv[])
    {
        @autoreleasepool {
            
            // insert code here…
            
        }
        return 0;
    }
    El @autoreleasepool lo que intenta es definir un entorno para que todas las variables definidas bajo ese entorno, comprendido entre las {} deberán ser liberadas de la memoria según se salga del pool.

    ARC

    El Automatic Reference Counting es la base de la gestión de la memoria es Objective C. Funciona de una manera distinta a C o Java. el ARC, como lo llamaremos a partir de ahora, lo que trata de hacer es evitar que el programador tenga que manualmente liberar la memoria de todas las variables, a fin de evitar quedarnos sin memoria en el dispositivo o tener memory leaks,  por lo que el programador sólo debe centrarse en reservar la memoria suficiente para los datos a almacenar y de definir que tipo de puntero necesitaremos para apuntar a esa memoria. Aunque este tema lo trataremos con más profundidad en la gestión de variables, podemos adelantar que respecto a ARC tenemos dos tipos de variables, las strong y las weak. Las strong mantendrán en la memoria los datos hasta que nos salgamos de su ámbito de actuación, pero las weak, no liberarán la memoria al salirse de ámbito. Por lo que podríamos considerar que las strong los las poseedoras de los datos en memoria y las weak son meros punteros a la información.  Si se libera una variable weak, no pasa nada, mientras que siga existiendo una strong sobre el dato. Sin embargo si la variable strong es la última que apunta a los datos y ésta sale de ámbito, el dato referenciado se liberará de memoria. 

    Trazas

    Como en todo lenguaje es posible sacar mensajes con pantalla/consola esto lo realiza la clase NSLog, como puede verse en el ejemplo:
    NSLog(@”Hello, World!”);
    Como puede verse de trata de la ejecución de una “función” al que se le pasa como parámetro una cadena de caracteres, en este caso utilizamos un literal, pero todos los literales en Objective C van precedidos de una @ y entre “”.
    En Este caso saldrá por la consola el mensaje entrecomillado Hello, World!
    Y por supuesto como toda sentencia C debemos terminarla con un ;

    Conclusiones

    Así que tenemos a un lenguaje similar a C con @ a lo anotaciones de Java, Orientado a objetos y con @antes de los literales de cadenas de caracteres, un poco rarito pero funcional. 

    Curso Básico de Objetive C: 1 Introducción a Xcode 5

    Introducción a XCode 5

    Lo primero que debemos saber a la hora de empezar con Objetive C es conocer el entorno de programación que necesitamos para hacer los desarrollos. 
    Debido a que la finalidad de este curso es prepararnos para el Curso Básico de Desarrollo de Aplicaciones para iOS. Tenemos un sólo requisito técnico sobre el entorno de desarrollo:

    • Disponer de una máquina de Apple con Mac OSX instalado al menos en la versión 10.8.4
    Este será nuestro mayor problema a la hora de iniciar el desarrollo porque la herramienta principal será Xcode 5 y sólo puede instalarse oficialmente en un Mac.

    Instalación de XCode 5 [1]

    Para instalar el Xcode lo podemos hacer desde la App Store:
    Desde el buscados podremos encontrar la página del Xcode:

    Pulsaremos en el botón verde de instalar la App, nos pedirá confirmación de compra, no te preocupes es gratuita e iniciará la descarga, son unos 1,9GB así que espera a que este disponible desde el Launchpad.
    Una vez descargada para podremos arrancar el Xcode:
    Como puedes ver se nos darán las opciones principales de crear un nuevo proyecto, enlazar a un repositorio o abrir proyectos recientes u otro proyecto.
    Al pulsar sobre el botón de crear proyecto veremos lo siguiente:
     En el apartado de la Izquierda se pueden ver los distintos proyectos que podemos desarrollar tanto para iOS como para OS X.
    En la parte de la derecha se nos mostrarán las opciones particulares para cada tipo de proyecto. 
    De cara al curso nos centraremos por su simplicidad en las aplicaciones para OS X:
    En este apartado vemos los tres tipos disponibles, para este curso utilizaremos la Command Line Tool como base para todos los proyectos. Esto simplificará la estructura de proyecto y la introducción de código.
    Tras pulsar Next nos sale la pantalla de configuración del proyecto:
    En ella deberemos rellenar:
    • El nombre del proyecto
    • El nombre de la organización
    • El Identificativo de la misma (deberá ser único en el mundo)
    • y el Tipo: Fundation
    Pulsamos en Next  y nos saldrá el diálogo de guardar el proyecto:
    Seleccionamos el directorio donde queremos guardar la carpeta del proyecto y pulsamos en Create.
    A continuación veremos el interfaz de Xcode de gestión de proyectos:
    Como podemos ver nos muestra todas las opciones del proyecto en la parte izquierda veremos el menú de proyecto, en la parte central las configuraciones del mismo y en la parte de la derecha las propiedades.
    Esta estructura es muy compleja, así que nos centraremos en los apartados básicos de la misma. 
    Al tener seleccionado el proyecto en la parte izquierda puede verse que debajo de él existen las carpetas:
    • una carpeta con el nombre del proyecto, que dentro tiene los ficheros del mismo
    • una carpeta frameworks donde veremos las bibliotecas y frameworks relacionados con el proyecto.
    • y una carpeta Products donde veremos el resultado de la compilación del proyecto, en nuestro caso un programa de linea de comandos. 

    Estructura del proyecto

    Si expandimos la carpeta del con el nombre del proyecto veremos lo siguiente:
    Como podemos ver tenemos el fichero principal de nuestro programa main.m al seleccionarlo con el ratón veremos que la parte central del Xcode presentará el contenido del fichero:

    Hola Mundo

    Nos encontraremos con el siguiente texto:
    //
    //  main.m
    //  ejemplo001-base
    //
    //  Created by pepesan on 12/10/13.
    //  Copyright (c) 2013 pepesan. All rights reserved.
    //
    #import <Foundation/Foundation.h>
    int main(int argc, const char * argv[])
    {
        @autoreleasepool {
            
            // insert code here…
            NSLog(@”Hello, World!”);
            
        }
        return 0;
    }

    Dentro de este fichero destacan 3 apartados principales:

    • La cabecera con los comentarios
    • El import de las clases fundaciones de Objective C
    • La función principal del programa, donde vemos la directiva @autorelease que es la que nos va a permitir liberar los recursos de la aplicación una vez terminada.
    • La llamada a NSLog(), que nos permite una salida por consola. 
    Como detalle curioso en Objective C todos los literales de cadenas de caracteres deben ir precedidos de un @.

     Compilación y ejecución del Proyecto

    Una vez realizado el desarrollo como siempre debemos compilar y ejecutar el proyecto, para lo cual tenemos varias opciones:
    • Mediante el botón de Play que está presente en la barra superior a la izquierda
    • Mediante la combinación de teclas Comando + r

     una vez compilado el proyecto debería salir en la parte superior central de la ventana un mensaje de que la compilación ha sido un éxito:

    Por otro lado habrá ejecutado el proyecto y deberíamos tener una salida en la consola, en la parte inferior central de la ventana:

    Donde debería aparecer el mensaje del Hola Mundo.
    Si en algún momento deseas parar la ejcución de un programa puedes hacerlo pulsando en el botón de stop o con la combinación te teclas Comando + . (esto es un punto no el final de línea 🙂 ).

    Depuración en Xcode

    Una de la tareas típicas en la codificación es el tratar de resolver errores en la compilación o la ejecución del programa.
    Xcode es una buena herramienta en este aspecto ya que nos ayuda a la resolución de estos errores de código. Para ello en la edición del fichero se nos muestran en la parte lateral izquierda del área círculos rojos o triángulos de alerta en cada línea que incluye un error o aviso respectivamente:

    Como puede verse en la captura vemos que hay errores y en la misma línea nos indica el error.
    Una vez arreglado el código los errores visualmente desaparecerán:

    Algunas veces esto no es suficiente para arreglar los errores, ya que será debido a fallos en ejecución de la aplicación. Para ello necesitaremos el uso de los BreakPoints.
    Los breakpoints nos permitirán parar la ejecución de la aplicación en un determinado punto, indicando sobre una línea de código dicho punto de ruptura.
    Para ello necesitaremos  hacer click en el número de línea donde queramos colocar el breakpoint, y nos debería aparecer un resaltado en azul sobre la misma:

    Al ejecutar la aplicación deberá parar en dicho breakpoint:

    En la parte inferior central debería aparecer la consola y el inspector de variables con las opciones de depuración:

    Como puede verse la captura en la parte de la izquierda, están representadas las variables involucradas en el método que se está ejecutando en ese momento y su valor. Y encima de las variables podemos observar los botones típicos de acción en la depuración, que continúan normalmente con la ejecución, el paso a paso, etc…
    También la parte de la izquierda nos aparecerá seleccionado el tercer icono de la barra empezando por la derecha y nos indicará información sobre el uso de CPU, el consumo de memoria y los hilos en ejecución:

    Ejercicios

    1. Instala en Xcode en tu ordenador.
    2. Crea un nuevo proyecto de MacOSX tipo Aplicación/Línea de Comando/Foundation.
    3. Ejecuta tu nuevo proyecto.
    4. Coloca un pequeño bucle en el código y depura la línea que muestre en pantalla el valor de la variable i que recorra el índice. 

    Referencias

    Licencia Creative Commons

    Curso Básico de Objetive C

    Curso Básico de Objective C

    En este curso trataremos de explicar el funcionamiento de la plataforma Xcode y el lenguaje de programación Objetive C, desde la perspectiva de un programador de aplicaciones web con conocimientos en programación orientada a objetos (POO) y bases de datos relacionales (BBDD).

    Temario

    Licencia Creative Commons

    Suscríbete al Boletín

    Si quieres estar al tanto de las novedades del blog, ya sabes :)
    * = campo obligatorio

    powered by MailChimp!

    Archivos

    Uso de cookies

    Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información. ACEPTAR

    Aviso de cookies