SlideShare une entreprise Scribd logo
1  sur  26
Programación para iPhone
Fernando Rodríguez Romero
       www.cocoaosx.com
         frr@agbo.biz
            @frr149
Introducción a UIKit
MVC
         Controlador




Modelo                 Vista
MVC
                       Controlador


Dividimos a todos los objetos de nuestra aplicación en 3 campos




Modelo                                                 Vista
MVC
                     Controlador


Modelo: lo que ES tu aplicación (aunque no cómo se muestra)




Modelo                                              Vista
MVC
                       Controlador


Controlador: cómo se presenta gráficamente el modelo al usuario




  Modelo                                            Vista
jDiskReport
      Un modelo: la lista de ficheros y
      carpetas


        Controlador Gráfico de “Tarta”



            Controlador Jeráquico
jDiskReport
      Un modelo: la lista de ficheros y
      carpetas


      Controlador Gráfico de barras por
          distribución de tamaños


            Controlador Jeráquico
Calculadora
                         Controlador estándar



     Un modelo: las
  funciones de cálculo


                         Controlador científico
MVC
                    Controlador


  Vista: es la tropa de esclavos que usa tu controlador




Modelo                                              Vista
No es lo mismo ser controlador
           que vista
                 El controlador es la “cabeza que
                 piensa”


                 Las vistas son los “curritos”
Controlador y Vistas

      El controlador no se ve. Es la “eminencia gris”.



      Las vistas se ven. Son los “pringaos” que dan la
                            cara.



        ¿Quienes son las vistas en la calculadora?
Ejemplos de Vistas en iOS
Comunicación entre los equipos
           Controlador




 Modelo                  Vista
Comunicación entre los equipos
            Controlador


@property                   @property




   Modelo                 Vista
Comunicación entre los equipos
            Controlador


@property                   @property




   Modelo                 Vista
Comunicación entre vista y
           controlador


•   ¿Puede la vista tener algo que decir al controlador?
Comunicación entre vista y
         controlador
• ¿Puede la vista tener algo que decir al controlador?
• Por supuesto
 •  Soy un botón (UIButton) y han hecho click sobre mí.

 • Soy una UIWebView y han hecho click sobre un enlace. ¿Puedo
   cargarlo?

 • Soy una UIWebView y acabo de cargar una nueva URL. Que lo
   sepas.
Comunicación entre vista y
        controlador
Hay dos formas “ciegas” por las que una vista se puede comunicar
con el controlador:

 •Target / Action (Blanco / Acción): Cuando ocurra algo
 interesante, echa una nota por debajo de esta puerta.

 •Delegate: Cuando necesites más información sobre
 cómo dibujarte en pantalla, llama a este número.
Comunicación entre los equipos
                         Target

           Controlador



                                          Action



 Modelo                           Vista
Comunicación entre los equipos
                                  Target

           Controlador
             Will        Should
                Did



                                                   Action
                      Delegate

 Modelo                                    Vista
Comunicación entre modelo y
       controlador


•   ¿Puede el modelo tener algo que decir al controlador?
Comunicación entre modelo y
        controlador
• ¿Puede el modelo tener algo que decir al controlador?
• Por supuesto, cualquier modificación que sufre el modelo debe
    de ser comunicada para que la interface se actualice.

•   Por ejemplo, si el modelo es el sistema de ficheros, y un archivo
    aumenta de tamaño, hay que avisar al controlador.
Comunicación entre modelo y
        controlador

• La comunicación modelo - controlador también se hace
 mediante el sistema de delegado.

• No es tan común como la comunicación vista - controlador
Comunicación entre los equipos
             Will                              Target
           Did
                    Controlador
                          Will        Should
                 Should
                             Did



Delegate                                                        Action
                                   Delegate

  Modelo                                                Vista

Contenu connexe

Similaire à Curso de programación iPhone: Introducción a UIKit

Similaire à Curso de programación iPhone: Introducción a UIKit (20)

Modelo vista controlador
Modelo vista controladorModelo vista controlador
Modelo vista controlador
 
MVC
MVCMVC
MVC
 
Introducción Curso iOS
Introducción Curso iOSIntroducción Curso iOS
Introducción Curso iOS
 
Lp II clase02 - Modelo Vista Controlador
Lp II   clase02 - Modelo Vista ControladorLp II   clase02 - Modelo Vista Controlador
Lp II clase02 - Modelo Vista Controlador
 
Ruby On Rails Intro
Ruby On Rails IntroRuby On Rails Intro
Ruby On Rails Intro
 
Clase 10 mvc
Clase 10 mvcClase 10 mvc
Clase 10 mvc
 
Android mvp
Android mvpAndroid mvp
Android mvp
 
Rails intro
Rails introRails intro
Rails intro
 
MODELO VISTA CONTROLADOR
MODELO VISTA CONTROLADORMODELO VISTA CONTROLADOR
MODELO VISTA CONTROLADOR
 
Modelo vista controlador vas Programacion por n capas
Modelo vista controlador vas Programacion por n capasModelo vista controlador vas Programacion por n capas
Modelo vista controlador vas Programacion por n capas
 
MVC - (Spanish)
MVC - (Spanish)MVC - (Spanish)
MVC - (Spanish)
 
Modelo vistacontrolador
Modelo vistacontroladorModelo vistacontrolador
Modelo vistacontrolador
 
Modelo vistacontrolador
Modelo vistacontroladorModelo vistacontrolador
Modelo vistacontrolador
 
MVC
MVCMVC
MVC
 
Arquitectura Mvc
Arquitectura MvcArquitectura Mvc
Arquitectura Mvc
 
Frameworks MVC para desarrollo de UITES
Frameworks MVC para desarrollo de UITESFrameworks MVC para desarrollo de UITES
Frameworks MVC para desarrollo de UITES
 
Asp
AspAsp
Asp
 
Mvc
MvcMvc
Mvc
 
Mvc
MvcMvc
Mvc
 
patron de diseño MVVMo.pptx
patron de diseño MVVMo.pptxpatron de diseño MVVMo.pptx
patron de diseño MVVMo.pptx
 

Dernier

Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 

Dernier (13)

Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 

Curso de programación iPhone: Introducción a UIKit

  • 2. Fernando Rodríguez Romero www.cocoaosx.com frr@agbo.biz @frr149
  • 4. MVC Controlador Modelo Vista
  • 5. MVC Controlador Dividimos a todos los objetos de nuestra aplicación en 3 campos Modelo Vista
  • 6. MVC Controlador Modelo: lo que ES tu aplicación (aunque no cómo se muestra) Modelo Vista
  • 7. MVC Controlador Controlador: cómo se presenta gráficamente el modelo al usuario Modelo Vista
  • 8. jDiskReport Un modelo: la lista de ficheros y carpetas Controlador Gráfico de “Tarta” Controlador Jeráquico
  • 9. jDiskReport Un modelo: la lista de ficheros y carpetas Controlador Gráfico de barras por distribución de tamaños Controlador Jeráquico
  • 10. Calculadora Controlador estándar Un modelo: las funciones de cálculo Controlador científico
  • 11. MVC Controlador Vista: es la tropa de esclavos que usa tu controlador Modelo Vista
  • 12. No es lo mismo ser controlador que vista El controlador es la “cabeza que piensa” Las vistas son los “curritos”
  • 13. Controlador y Vistas El controlador no se ve. Es la “eminencia gris”. Las vistas se ven. Son los “pringaos” que dan la cara. ¿Quienes son las vistas en la calculadora?
  • 15. Comunicación entre los equipos Controlador Modelo Vista
  • 16. Comunicación entre los equipos Controlador @property @property Modelo Vista
  • 17. Comunicación entre los equipos Controlador @property @property Modelo Vista
  • 18. Comunicación entre vista y controlador • ¿Puede la vista tener algo que decir al controlador?
  • 19. Comunicación entre vista y controlador • ¿Puede la vista tener algo que decir al controlador? • Por supuesto • Soy un botón (UIButton) y han hecho click sobre mí. • Soy una UIWebView y han hecho click sobre un enlace. ¿Puedo cargarlo? • Soy una UIWebView y acabo de cargar una nueva URL. Que lo sepas.
  • 20. Comunicación entre vista y controlador Hay dos formas “ciegas” por las que una vista se puede comunicar con el controlador: •Target / Action (Blanco / Acción): Cuando ocurra algo interesante, echa una nota por debajo de esta puerta. •Delegate: Cuando necesites más información sobre cómo dibujarte en pantalla, llama a este número.
  • 21. Comunicación entre los equipos Target Controlador Action Modelo Vista
  • 22. Comunicación entre los equipos Target Controlador Will Should Did Action Delegate Modelo Vista
  • 23. Comunicación entre modelo y controlador • ¿Puede el modelo tener algo que decir al controlador?
  • 24. Comunicación entre modelo y controlador • ¿Puede el modelo tener algo que decir al controlador? • Por supuesto, cualquier modificación que sufre el modelo debe de ser comunicada para que la interface se actualice. • Por ejemplo, si el modelo es el sistema de ficheros, y un archivo aumenta de tamaño, hay que avisar al controlador.
  • 25. Comunicación entre modelo y controlador • La comunicación modelo - controlador también se hace mediante el sistema de delegado. • No es tan común como la comunicación vista - controlador
  • 26. Comunicación entre los equipos Will Target Did Controlador Will Should Should Did Delegate Action Delegate Modelo Vista

Notes de l'éditeur

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n