Google Web

11 ago. 2009

iPhone daemon! Parte 2 de n

OK - Se hace la GUI

Después que la revolución gráfica se vio humillada por el temor a Objective-C con pseudoQuartz, Dios miro al frente y dijo "bueno pues, que sea Cocoa Touch y ya...". La GUI es un Controller común y convencional, asi que no dare detalles... Después del sketch malformado, era el momento idoneo de meter biz logic. Esta llego en forma de Core Data. Me mantuve esceptico de este framework. Veia algunas entidades, data context, y soporte para SQLite, quizás podría darle una oportunida (o el framework darme una a mí).

Después de la primer media hora, el amor verdadero me invadió. Había creado un hermoso singleton que delegaba todo lo necesario para crear mi repositorio SQLite, y manejar el control de mi DataContext. La verdad que me sorprendio mucho la facilidad con que podía crear una entidad y con magico save en el context (asi como lo hace LinqToSql) tener mi entidad persistida. Añade a esto un selector con pseudoclausas WHERE, y tienes un DAL de primer mundo con pocas líneas en tu pequeño mundo iPhone.

Ya tengo como guardar mis lindos datos, pero el siguiente issue que viene a mi es parsear el XML que viene de un web service, con los datos que necesito insertar. El proceso de descargar esta simplon, NSUrlRequest es el amigo de los niños. Pero para parsear, oh no, oh noooo! Es un mar de complicaciones, NSXmlParser de iPhone es un "has lo que quieras" parser, lease implementa todos los delegados para cuando el parser encuentra un tag o atributo. Cosa nada buena, asi que justo ahora experimento con una open source library llamada TouchXml, esta dos tres, pero me sorprende que la mitad del codigo esta comentada, que planea estos sujetos?!

Seguire dando polea hasta que logre poblar mis tablas y este listo para comenzar la daemonizacion! Punto extra, permitir a la app daemonizada hacer llamadas xD.