Documentar el código

Creo que no he mencionado aún lo importante que es ir comentando el código de nuestros proyectos.
En todo proyecto con una cierta complejidad es básico dedicar tiempo a explicar que hace nuestro código. Cuando nuestra aplicación empieza a crecer ( en líneas de código) cada vez nos será más difícil seguir las modificaciones que hemos ido haciendo y el porqué.
Esto es aún más importante si trabajamos en equipo o trabajamos en más de un proyecto simultáneamente.

De vuelta

Después de unos meses de exámenes, vacaciones y de lucha con mi App. intentaré animar el blog en la medida de lo posible.
Comentaros que abandoné mi planteamiento inicial de "primero aprender teoría (cursos Standford) y luego empezar a programar" y ataqué directamente el código recurriendo a san Google cuando sea necesario.

Cómo añadir una base de datos a nuestro proyecto.

Un buen número de Apps. van a necesitar almacenar, consultar , o eliminar algún tipo de dato durante su uso. Para poder realizar estas operaciones necesitaremos un sistema gestor de bases de datos . No hacen falta grandes conocimientos en SGBBDD pero un mínimo nivel de sintaxis SQL sí será necesario.

Para nuestras Apps. utilizaremos SQLite un SGBBDD libre programado en C.
Antes de nada es necesario crear una nueva base de datos en vuestro Mac para ello
ejecutaréis las siguientes instrucciones en la consola:

cd /Users/TuUsuarioMac/documents
mkdir sqlite
cd sqlite
sqlite3 TestDatabase.sql

Si todo va bien veréis lo siguiente:
SQLite version 3.6.12
Enter ".help" for instructions
Enter SQL statements terminated with a ";"

Por último un pequeño ejemplo para ver que todo funciona:

sqlite> CREATE TABLE Comics ( id INTEGER PRIMARY KEY, name VARCHAR(50));

sqlite> INSERT INTO Comics (name) VALUES ('Watchmen');
sqlite> INSERT INTO Comics (name) VALUES ('The Dark Knight Returns');
sqlite> INSERT INTO Comics (name) VALUES ('The Killing Joke');

sqlite> select * from Comics;
1|Watchmen
2|The Dark Knight Returns
3|The Killing Joke
sqlite>

Ahora será necesario incluir en XCode la biblioteca de SQLite para ello haremos click con el botón derecho sobre la carpeta Frameworks y seleccionamos Add > Existing Frameworks




y seleccionamos libsqlite3.0.dylib tal cómo aquí vemos:




Por último importaremos nuestra base de datos a XCode para ello haremos click con el botón derecho sobre la carpeta Frameworks y seleccionamos Add > Existing Files y con el Finder buscamos nuestra base de Datos y la añadimos.
El siguiente paso será ver cómo interactuamos con la BD desde XCode.

Continuará...


Un poco de humor para empezar la semana

Noah Wyle ,el actor que encarnó al mismísimo Steve Jobs en Piratas de Silicon Valley, parodiando al CEO de Apple en el MacWorld del 99.

Cómo añadir más lineas de texto a una celda

Introducción:

Muchas de las App que utilizamos usan una estructura de tabla ( UITableView) para presentarnos una lista de elementos (canciones,fotos, mails) con los que queremos interactuar de alguna manera.
La aplicación nativa de mail por ejemplo utiliza diferentes tablas para mostrarnos
nuestros mails enviados, recibidos, borradores,etc. La información básica de cada e-mail está contenida en una celda (UITableViewCell).
La celda a su vez puede contener texto, contenido en etiquetas (textLabel & detailTextLabel) e imágenes (imageView).
Fin de la introducción

Cómo añadir más lineas de texto a una celda

Cuando creamos una tabla, las etiquetas contenidas en sus celdas por defecto sólo muestran una linea de texto. Si el texto a mostrar ocupa más de una linea se mostrarán una serie de puntos (...) que nos indican que hay más texto del que vemos. Utilizo cómo ejemplo la App.
para tratar fuentes RSS & Atom que os explique aquí.



Para poder mostrar más lineas de texto primero incrementaremos la altura de la celda y a continuación diremos cuantas lineas queremos mostrar.

En nuestro proyecto buscamos el .xib que contiene nuestra TableView (archivo RootViewController.xib) hacemos doble click sobre el y veremos lo siguiente


Seleccionamos Table View y utilizamos el Inspector para editar la altura de la celda:



Lo cambiamos por ejemplo a 120.

Para modificar el número de lineas por etiqueta necesitamos editar el código asociado a nuestra tabla.El código lo encontraremos en RootViewController.m
Buscamos la siguiente linea de código

(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {


Y antes del }return cell; escribimos lo siguiente:


cell.detailTextLabel.numberOfLines=5;

De esta manera ampliamos a 5 el número de lineas de la etiqueta que contiene el texto y este será el resultado al ejecutar nuestra App.

El próximo paso es hacer que al seleccionar un elemento se abra una nueva ventana que muestre la totalidad del texto.

MWFeedParser

Ayer descubrí un parseador de fuentes RSS/Atom para iPhone , se trata de un proyecto open source desarrollado por Michael Waterfall. Lo estuve probando y creo que me facilitirá enormemente la vida. Comentar que el código sólo trata la información básica de una fuente RSS , descripción , título , fecha, etc con lo que será necesario complementarlo.



Lo podéis descargar desde aquí y si lo utilizais no olvideis mencionar a su autor!

10 pasos para construir una App. (Paso 4)

Paso 4 Crea bocetos

En este paso tenemos que traspasar nuestra App. al papel, de forma similar a cualquier proceso creativo crearemos un boceto con el diseño de nuestra App.
Pero no nos vamos a quedar con el primer diseño, crearemos tantos diseños alternativos cómo nos sea posible.Cuantos más diseños tengamos más fácil será obtener el diseño óptimo.

Principio 4
Calidad a través de la cantidad.


Un poco de humor para empezar la semana

Después de un par de semanas liado con entregas varias vuelvo al mundo de Objective C , Cocoa Touch y a este Blog.
Aquí os dejo mi habitual off topic humorístico de la semana.Mezclando de nuevo dos de mis aficiones The Simpsons y el iPhone

De prácticas

Estas semanas no podré actualizar el blog todo lo que quisiera. Tengo que acabar una "apasionante" práctica de la UOC ,Programar el juego Master Mind en Ensamblador.



Cómo dijo Arnie I'll be back!

Clases

De la misma manera que inauguré la sección funciones hoy le toca el turno a la etiqueta Clases.
¿Que qué es una Clase? Para poder responder a esta pregunta es necesario responder antes a esta otra:
¿Qué es un Objeto?
Un Objeto es un ente con un Nombre,unas Propiedades (Características) y unos Métodos que nos permiten modificar dichas Propiedades. Utilizaré un ejemplo para que quede más claro:

Nombre:Ipod
Propiedades:
-Color:Blanco
-Capacidad:64 GB
Métodos:
-EstablecerColor ()
-EstablecerCapacidad ()

Pues bien la Clase a la que pertenecería este objeto sería por ejemplo Reproductores Multimedia.La clase es la abstracción o la generalización del objeto, para ponerlo fácil
sería el objeto pero sin asignarle ni Nombre ni Propiedades:

Clase:Reproductores Multimedia
Nombre:XXXX
Propiedades
-Color:XXXX
-Capacidad:XXXX
Métodos
-EstablecerColor ()
-EstablecerCapacidad ()