4 - PROTOCOLOS Y VISTASCurso de desarrollo de aplicaciones móviles para iPhone y iPad                 endika.gutierrez@urb...
CONTENIDO• Paradigma    Model-View-Controller• Protocolos• Vistas• Comunicación Vistas-Controlador
CONTENIDO    • Paradigma   Model-View-Controller• Protocolos• Vistas• Comunicación Vistas-Controlador
PARADIGMA MVC• Paradigma    de programación para el desarrollo de interfaces• Se   basa en separar las trés cápas lógicas ...
PARADIGMA MVC 2• De esta manera los objetos dentro de Cocoa se dividen en estas tres categorias• Lacomunicación debe fluir ...
PARADIGMA MVC 3         ControladorModelo                 Vista
CONTENIDO• Paradigma   Model-View-Controller    • Protocolos• Vistas• Comunicación Vistas-Controlador
PROTOCOLOS• Los    protocolos representan uno de los principales sistemas de comunicación entre objetos en Objective-C• Pe...
PROTOCOLOS 2• Es   análogo a los interface en Java  • Con algunas diferencias, ya que los métodos un protocolo    pueden s...
PROTOCOLOS 3• Lasintaxis es similar a la declaración de una interfaz de una clase: @protocol UITextFieldDelegate <NSObject...
PROTOCOLOS 4• La    definición de un protocolo es similar a @protocol NombreDelProtocolo <ClaseQuePuedeImplementarlo> // De...
PROTOCOLOS 5• También    se pueden incluir métodos opcionales @protocol NombreDelProtocolo <ClaseQuePuedeImplementarlo> @o...
PROTOCOLOS 6• Las   clases pueden implementar protocolos @interface NombreDeLaClase <Protocolo1, Protocolo2, Protocolo2......
CONTENIDO• Paradigma    Model-View-Controller• Protocolos   • Vistas• Comunicación Vistas-Controlador
VISTAS• Las   vistas son el elemento de visualización por defecto• Se   debe abstraer de los modelos y controladores
VISTAS 2• La   clase base de toda vista es UIView• La   clase UIView por sí sola actua únicamente como un contenedor de vi...
VISTAS 3• Heredando   de UIView podemos personalizar las vistas• iOS contine multitud de vistas, desde etiquetas UILabel, ...
CONTENIDO• Paradigma    Model-View-Controller• Protocolos• Vistas    • Comunicación Vistas-Controlador
COMUNICACIÓN          VISTA-CONTROLADOR• Segúnel paradigma MVC la vista no debería conocer ni al controlador ni al modelo•...
COMUNICACIÓN              VISTA-CONTROLADOR 2• El   sistema más sencillo es el denominado target-action  • Se    indica a ...
COMUNICACIÓN       VISTA-CONTROLADOR 3• Cuando la comunicación es más compleja se emplean protocolos • Generalmente   son ...
FIN
Upcoming SlideShare
Loading in …5
×

Ios.s4

482 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
482
On SlideShare
0
From Embeds
0
Number of Embeds
96
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Ios.s4

    1. 1. 4 - PROTOCOLOS Y VISTASCurso de desarrollo de aplicaciones móviles para iPhone y iPad endika.gutierrez@urbegi.com alex.rayon@urbegi.com Urbegi Learning Contents
    2. 2. CONTENIDO• Paradigma Model-View-Controller• Protocolos• Vistas• Comunicación Vistas-Controlador
    3. 3. CONTENIDO • Paradigma Model-View-Controller• Protocolos• Vistas• Comunicación Vistas-Controlador
    4. 4. PARADIGMA MVC• Paradigma de programación para el desarrollo de interfaces• Se basa en separar las trés cápas lógicas • Datos - Modelo • Comportamiento - Controlador • Visualización - Vista
    5. 5. PARADIGMA MVC 2• De esta manera los objetos dentro de Cocoa se dividen en estas tres categorias• Lacomunicación debe fluir entre el modelo y el controlador y entre el controlador y la vista
    6. 6. PARADIGMA MVC 3 ControladorModelo Vista
    7. 7. CONTENIDO• Paradigma Model-View-Controller • Protocolos• Vistas• Comunicación Vistas-Controlador
    8. 8. PROTOCOLOS• Los protocolos representan uno de los principales sistemas de comunicación entre objetos en Objective-C• Permiteuna comunicación unidireccional entre dos objetos sin que el emisor conozca al receptor• Define un conjunto de métodos que la clase los implementa
    9. 9. PROTOCOLOS 2• Es análogo a los interface en Java • Con algunas diferencias, ya que los métodos un protocolo pueden ser implementados o no• Evita la herencia multiple• Losobjetos pueden implementar tantos protocolos como deseen • Sin embargo solo pueden heredar de una clase
    10. 10. PROTOCOLOS 3• Lasintaxis es similar a la declaración de una interfaz de una clase: @protocol UITextFieldDelegate <NSObject> @optional - (BOOL)textFieldShouldBeginEditing:(UITextField *)textField; // return NO to disallow editing. - (void)textFieldDidBeginEditing:(UITextField *)textField; // became first responder - (BOOL)textFieldShouldEndEditing:(UITextField *)textField; // return YES to allow editing to stop and to resign first responder status. NO to disallow the editing session to end - (void)textFieldDidEndEditing:(UITextField *)textField; // may be called if forced even if shouldEndEditing returns NO (e.g. view removed from window) or endEditing:YES called // ... @end
    11. 11. PROTOCOLOS 4• La definición de un protocolo es similar a @protocol NombreDelProtocolo <ClaseQuePuedeImplementarlo> // Definición de los métodos @end
    12. 12. PROTOCOLOS 5• También se pueden incluir métodos opcionales @protocol NombreDelProtocolo <ClaseQuePuedeImplementarlo> @optional // Definición de los métodos opcionales @end
    13. 13. PROTOCOLOS 6• Las clases pueden implementar protocolos @interface NombreDeLaClase <Protocolo1, Protocolo2, Protocolo2...> @end
    14. 14. CONTENIDO• Paradigma Model-View-Controller• Protocolos • Vistas• Comunicación Vistas-Controlador
    15. 15. VISTAS• Las vistas son el elemento de visualización por defecto• Se debe abstraer de los modelos y controladores
    16. 16. VISTAS 2• La clase base de toda vista es UIView• La clase UIView por sí sola actua únicamente como un contenedor de vistas • Similar al tag <div> de html
    17. 17. VISTAS 3• Heredando de UIView podemos personalizar las vistas• iOS contine multitud de vistas, desde etiquetas UILabel, textfields UITextField hasta mapas MKMapView, contenedores web UIWebView...
    18. 18. CONTENIDO• Paradigma Model-View-Controller• Protocolos• Vistas • Comunicación Vistas-Controlador
    19. 19. COMUNICACIÓN VISTA-CONTROLADOR• Segúnel paradigma MVC la vista no debería conocer ni al controlador ni al modelo• Porlo tanto ¿Cómo se comunican las vistas y los controladores?
    20. 20. COMUNICACIÓN VISTA-CONTROLADOR 2• El sistema más sencillo es el denominado target-action • Se indica a la vista quien va a ser el objeto que reciba la acción y el método • [_button addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventAllEvents];
    21. 21. COMUNICACIÓN VISTA-CONTROLADOR 3• Cuando la comunicación es más compleja se emplean protocolos • Generalmente son los delegate y los dataSource. • Losprotocolos Delegate proporcionan una lista métodos con los eventos que se puedan producir • Los protocolos DataSource proporcionan una lista métodos para proveer de información a la vista
    22. 22. FIN

    ×