miércoles, 26 de enero de 2011

Parte 1 - MVC para comenzar a programar Cocoa/Objective-C

MVC - Modelo Vista Controlador

La idea con el patrón MVC es dividir la aplicación en estas tres capas.





La capa de Modelo: en el modelo debemos definir de que se trata la aplicación y no como se muestra la aplicación. Si tomamos como ejemplo un juego de naves espaciales, el modelo se refiere a que armas hay, que daño hacen esas armas o en que naves están esas armas.





La capa controlador: Se encarga de como el modelo es presentado al usuario. Es decir que para un iphone el controlador sera diferente que para un ipad porque cada una de las pantallas es diferente.





La capa vista: es quien se encarga de servir al controlador. Es lo que utiliza el controlador para hacer su tarea. Es responsable de como se muestra la información en la pantalla.

¿Puede la vista enviar mensajes al controlador? no exactamente. Los objetos de la vista son genéricos como botones o labels y no queremos que estos importen el .h de nuestro controlador, para esto existen tres mecanismos que hacen posible esta comunicación:

1. Target Action: el controlador maneja un target y una acción en la vista, cuando por ejemplo se toca el botón se manda la acción al target.
2. Delegación: a veces la vista necesita sincronizarse con el controlador o saber que se supone que debería hacer en un caso determinado para esto hay instancias en la vista llamadas delegates que preguntan al controlador que deberían realizar porque necesitan más información para realizar la acción.
3. Data Source: protocolo que permite que la vista disponga de los datos.

La vista no es dueña de los datos que muestra, por eso, si necesita de ellos debe obtenerlos a través del controlador. La función de los controladores es interpretar la información que viene del modelo para poder pasársela a la vista.
El controlador siempre puede comunicarse directamente con el modelo y con la vista, pero la vista con el modelo no pueden hacerlo directamente.

Pdf en ingles: Lecture 1

lunes, 22 de noviembre de 2010

Recursos para aprender a desarrollar aplicaciones para iphone

Este es un muy buen libro en español sobre Objective C: http://dymas.ii.uam.es/~flh/macprog/LenguajeObjective-C.pdf (Si el link no funciona hace click aqui) .

Este es un link hacia la cátedra de la universidad de Stanford donde pueden bajar pdfs sobre el desarrollo de aplicaciones para iphone. Esta en ingles pero me parece que vale la pena la publicación del link ya que es una de las mejores guías que encontré hasta el momento. Como este blog es en español decidí tomar como fuente este curso e ir armando uno en español.

miércoles, 5 de mayo de 2010

Para Tyflos y para todos!

@interface CalculatorBrain : NSObject
{
if(){}
double operand;
NSString *waitingOperation;
double waitingOperand;
}
- (void)setOperand:(double)aDouble;
- (void)setVariableAsOperand:(NSString *)variableName;
- (double)performOperation:(NSString *)operation;
@property (readonly) id expression;
+ (double)evaluateExpression:(id)anExpression
usingVariableValues:(NSDictionary *)variables;
+ (NSSet *)variablesInExpression:(id)anExpression;
+ (NSString *)descriptionOfExpression:(id)anExpression;
+ (id)propertyListForExpression:(id)anExpression;
+ (id)expressionForPropertyList:(id)propertyList;
@end