Curso de programación realizado por nuestros amigos de
iPhone4Spain.com que nos han pedido que compartamos esta serie de cursos de programación en iOS con la comunidad de
iPadForosHoy vamos a ver la solución del ejercicio propuesto en la
Clase 1 del Curso de Programación iOS:
cómo capturar eventos generados por el usuario.
Nos centraremos en explicar para qué se utilizan los objetos y porque programamos las cosas de la manera que lo hacemos. Vamos a tratar las clases de los viernes como un refuerzo a las clases de los lunes. De esta manera veremos más casos en los que podéis encontrar alguna duda.
Empezamos la solución y explicación del ejercicio creando un nuevo proyecto vacío "
Empty Application". Nosotros lo hemos llamado "
EjercicioClase1".
Añadimos al proyecto un nuevo fichero.
Seleccionamos una "
Objective-C class". En el paso siguiente, le escribimos un nombre y marcamos la opción "
With XIB for user interface".
Introducimos los ficheros generados en una carpeta con el nombre que le hemos puesto a la Clase.
Lo primero que vamos a hacer programar el fichero "
AppDelegate.m" para que la aplicación arranque desde la interfaz que hemos agregado. Para ello, como vimos en la
Clase 1 del Curso de Programación iOS, abrimos "
AppDelegate.m", agregamos
#import "MainViewController" en la cabecera para tener acceso a la clase que hemos creado. Una vez hecho el paso anterior, buscamos el método "
didFinishLaunchingWithOptions" y creamos un objeto de la clase "
MainViewController" que igualaremos a la propiedad "
rootViewController" de "
window".
Ahora vamos a añadir otro fichero de "
Objective-C class". Le ponemos de nombre "
Constants" y va a ser subclase de "
NSObject". Evidentemente no va a tener interfaz, de hecho, no nos da la posibilidad de seleccionar "
With XIB for user interface". También lo insertaremos en una carpeta para tener el proyecto lo más organizado posible.
Lo vamos a utilizar para programar las constantes de nuestra aplicación. Es una metodología que nos insisten mucho los profesores y que los alumnos solemos pasar por alto, pero como en este curso queremos programar de la manera más correcta posible, nosotros intentaremos hacer buenas prácticas de programación.
El proyecto va a tener la siguiente estructura de ficheros.
Vamos a editar ahora el fichero "
Constants.h". En él vamos a declarar las constantes que vamos a utilizar. En esta aplicación sólo va a tener un "
NSString" como constante.
Declaramos la constante con las siguientes instrucciones, "
extern(
Indica que la declaración hace referencia a un elemento ya existente definido o asignado en otra unidad de compilación)
NSString(
Es el tipo de objeto que estamos declarando)
* const(
Indicamos que es constante)
CONST_STR(
Nombre que hemos puesto a la constante)".
Editamos, ahora, el fichero "
Constants.m". En él, simplemente, le asignamos el valor a la constante.
Abrimos y editamos "
MainViewController.h".
Lo primero que haremos será crear un contador, con el que contaremos las veces que el usuario pulsa el botón "
Incrementar".
También crearemos un "
IBOutlet" con el que accederemos al "
Label" que mostrará el contador.
Por último, crearemos dos "
IBAction". Uno para incrementar el contador, que lo hemos llamado "
incCounter", y otro para poner a 0 el contador, que lo hemos llamado "
resetCounter".
Y el último fichero a programar es "
MainViewController.m". En él lo primero que haremos será importar "
Constants.h" y el "
@synthesize" del "
IBOutlet" que hemos declarado en el fichero "
MainViewController.h".
Ahora hay que implementar los "
IBAction" declarados en "
MainViewController.h". También, hay que buscar el método "
viewDidLoad" para mostrar la primera vez el contador y el texto.
La clase "
NSString" tiene un método llamado "
stringWithFormat" que permite introducir el formato que queramos al texto del "
Label". Es muy útil para mostrar variables numéricas en textos. En nuestro caso, el "
Label" muestra "
Pulsaciones: " y el contador de pulsaciones. Para mostrar el contador, la constante tiene "
%d" en el lugar que queremos mostrar la variable "
counter"
Por último, abrimos el fichero "
MainViewController.xib" para agregar los componentes "
Label" y "
Round Rect Button" que necesitamos en la aplicación y los enlazamos con los "
IBAction" e "
IBOutlet" correspondientes.
Como ya explicamos en la
Clase 1 del Curso de Programación iOS, hay que tener cuidado cuando se enlacen los componentes con los "
IBOutlet" o "
IBAction".
Primero vamos a enlazar el "
IBOutlet". Pulsamos el botón izquierdo del ratón junto con la tecla
Ctrl del teclado sobre "
File's Owner" y arrastramos hasta el "
Label". Seleccionamos el "
infoLabel".
Ahora enlazamos los "
IBAction". Hacemos la combinación de teclas anterior, pero ahora en sentido contrario.
Pulsamos el botón incrementar y arrastramos hasta "
File's Owner". Seleccionamos "
incCounter".
Hacemos lo mismo con el botón "
Resetear" y seleccionamos "
resetCounter".
Sólo queda ejecutar la aplicación y ver que funciona correctamente.
Con esto damos por concluida la
Clase 1 del Curso de Programación iOS. Esperamos que todos hayáis tenido bien el ejercicio o, por lo menos, que lo hayáis intentado. Si tenéis alguna pregunta, duda o algo que sugerirnos o corregir, podéis usar tanto el sistema de comentarios que tenéis debajo de la entrada, o podéis mencionarnos en twitter
@iPhone4Spain .
El lunes, día
2 de abril, publicaremos la
Clase 2.
Vía | iPhone4Spain.com - Clase 1