Archive for Mac
January 16, 2012 a las 4:38 pm por Edwin Plauchu · Archivado en Ipad, Mac, Programacion
La Codificacion llave valor en objetive C… permite setear propiedades de la instancia de una clase.


Podemos notar que la clase anterior tiene 2 propiedades “name” y “age”… Veamos como asignarle un valor a la propiedad “name” utilizando la codificacion llave-valor.


Si quisieramos consultar el valor asignado, bastaria con agregar la siguiente linea a nuestro codigo.. para imprimir a consola.

Podemos hacer lo mismo con la propiedad age… Solo que ojo… el metodo setValue nos obliga a solo pasarle objetos… por lo que envolveremos el integer primitivo en una clase NSNumber ..


January 14, 2012 a las 7:41 pm por Edwin Plauchu · Archivado en Ipad, Mac, Programacion
Basicamente lo que hace la clase NSData es guardar los contenidos de un objeto en un archivo
En el siguiente ejemplo se guarda todo el contenido del array del tipo NSArray en un archivo de texto.
Y en las 3 antepenultimas lineas se realiza el proceso analogamente inverso , de obtener el array del archivo donde se deposito.

Esta es la salida una vez recobrado el contenido del arreglo desde el archivo ..

January 14, 2012 a las 7:03 pm por Edwin Plauchu · Archivado en Ipad, Mac, Programacion
Un Vistazo
El protocolo NSCoding: Declara los dos metodos que una clase debera implementar, para que sus instancias puedan ser codificas o decodificadas (esto es algo parecido a la serializacion y deserializacion en java pero aplicado a c objetivo). Esto provee la base de guardar objetos y su muy peculiar contexto por instancia sobre algun dispositivo del almacenamiento (discos..usb card , bases de datos..etc).

Un ejemplo lo ilustra todo!
1.- Primero creamos la Clase Rectangle y definimos sus elementos


2.- Ahora le aplicamos a la definicion de clase el protocolo NSCoding

3.- Y agregamos los siguientes dos metodos a la implementacion de la clase Rectangle…
La KEY sirve para localizar el elemento que se serializa…
En este caso se serializan dos integer y cada uno es localizable por su KEY

Aqui vemos como son deserializados los dos elementos mediantes sus KEYS

4.- Ahora procedemos a ( serializar ) codificar en bytes nuestra instancia de Rectangle…
Este sera el contenido de “data”

5.- Ahora ejecutemos el proceso inverso .. la ( deserializacion ) decodificacion de data… para convertir su contenido en variables con contexto.


January 14, 2012 a las 6:28 pm por Edwin Plauchu · Archivado en Ipad, Mac, Programacion
Las Categorias permiten agregar funciones a Clases ya definidas…
Observece que en la clase NSString .. esta clase manda a llamar el metodo isAMovie … este no es un metodo de NSString.
Como puede ser eso posible… Eso es posible gracias a las Categorias de Objetive C


Como crear una categoria ?

Notece que la implementacion de la categoria tendra acceso a todos los metodos de la clase NSString..

Listo eso es todo lo que hay que hacer para extender una clase mediante categorias.
January 14, 2012 a las 5:24 pm por Edwin Plauchu · Archivado en Ipad, Mac, Programacion
1. - Primero se define la clase

2. - Despues se escribe la implementacion de la misma

3.- Ahora definimos un protocolo al que llamaremos Logging

4.- Ahora regresamos a la definicion de la clase e indicamos que cuando se hagan implementaciones de la misma, se bera cumplir el protocolo Logging

5.- Ahora aqui implementamos los metodos que dicta el protocolo logging sobre nuestra implementacion de la Clase Dog

6.- Finalmente compilamos y corremos


January 14, 2012 a las 4:04 pm por Edwin Plauchu · Archivado en Ipad, Mac, Programacion

Basicamente este sera el contenido del fichero que hemos generado en raiz /

Aunque agregando las siguientes lineas a nuestra aplicacion de ejemplo… podemos realizar el flujo en sentido contrarios….
Si asi es … convertir el plist en datos instanciados en nuestra app e imprimirlos.


January 14, 2012 a las 3:45 pm por Edwin Plauchu · Archivado en Ipad, Mac, Programacion

Al correr el anterior ejemplo tendremos como resultado 12 y 30…
Los bloques tienen un tipo de retorno y ademas aceptan parametros como una funcion (en caso de no pasarle parametros se pondra utilizara la palabra reservada void).
Ademas de esto el bloque de codigo utiliza a la variables que estan fuera del bloque (pero dentro de la funcion)…. como si se tratacen de variables globales…
Ahora un bloque que recibe parametros…

January 13, 2012 a las 7:21 pm por Edwin Plauchu · Archivado en Ipad, Mac, Programacion
El Siguiente codigo fallara…

Observemos lo que sucede al ejecutarlo

Para que lo anterior no nos truene tendremos que envolver al integer en una clase NSNumber.. Ya que NSMutableArray esta diseƱado prar objetos… y no para tipos de datos primitivos

Observemos que ahora la cosa funciona

January 13, 2012 a las 7:01 pm por Edwin Plauchu · Archivado en Ipad, Mac, Programacion

Ahora ejecutemos el anterior codigo… notese que agregue un NSLog mas… abajo de “super green”

Aqui podemos notar tambien como se eliminan un conjunto de caracteres de la cadena y como se insertan otros en cierta posicion..


January 13, 2012 a las 6:49 pm por Edwin Plauchu · Archivado en Ipad, Mac, Programacion

A diferencia de los NSArray… a estos se les pueden agregar y objetos al gusto…