SlideShare una empresa de Scribd logo
1 de 19
5 - CONTROLADORES Y
LIFECYCLE DE LA APLICACIÓN
Curso de desarrollo de aplicaciones móviles para iPhone y iPad

                 endika.gutierrez@urbegi.com
                   alex.rayon@urbegi.com

                                      Urbegi Learning
                                         Contents
CONTENIDO


• Lifecycle   de la aplicación

• Controladores

• Interface   Builder y controladores
CONTENIDO


    • Lifecycle   de la aplicación

• Controladores

• Interface   Builder y controladores
LIFECYCLE DE LA
                  APLICACIÓN


• Todas   las aplicaciones siguen un guión de ejecución

 • Comprende    todos los eventos surgidos desde que el
   usuario lanza la aplicación hasta que la aplicación finalmente
   muere
LIFECYCLE DE LA
                 APLICACIÓN 2

• En las aplicaciones más sencillas de C, toda la vida de la
 aplicación transcurre en el método main()

• En   Java ocurre de manera similar

• Objective-C   parte de la base de C y amplia la lógica

   • Recordemos      que Objective-C es una extensión de C
LIFECYCLE DE LA
                   APLICACIÓN 3
• Portanto la aplicación parte del método main(). Veamos la
 apariencia que tiene

int main(int argc, char *argv[])
{
    @autoreleasepool {
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate
class]));
    }
}



• Unicamente llama a UIAplicatiónMain que será el encargado
 que gestionar todo el ciclo de la aplicación
LIFECYCLE DE LA
             APLICACIÓN 4
•A  este método UIAplicationMain se le proporciona una
 clase que debe implementar el protocolo
 UIApplicationDelegate que recibirá todos los eventos de
 la aplicación

• Este protocolo comprende todos los posibles eventos
 externos a la aplicación que puedan surgir y afecten al
 ciclo de vida de la misma

• Ver   la referencia online
LIFECYCLE DE LA
             APLICACIÓN 5
• Loseventos más importantes quedan representados en este
 gráfico:                                ApplicationDelegate
                  El usuario lanza la
                      aplicación


                                                application:
                        main()               didFinishLaunching
                                                WithOptions:


                 UIApplicationMain()



               Ciclo de la                       Recepción de
               aplicación                          eventos




                  App deja de estar            applicationWill
                       activa                   ResignActive



                 La App se mueve al            applicationDid
                     background                EnterBackground
CONTENIDO


• Lifecycle   de la aplicación

    • Controladores

• Interface   Builder y controladores
CONTROLADORES


• El
   controlador es el elemento que gestiona la lógica de la
 aplicación

• Suele   ser de las clases más “pesadas” dentro del paradigma
 MVC

• Es   el elemento central que debe coordinar Vistas y modelo
CONTROLADORES 2


• Son   los encargados de crear y gestionar la jerarquía de vistas

• Los   controladores heredan de la clase UIViewController

• Desde    esta clase gestionan el ciclo de vida de las vistas
CONTROLADORES 3

•   Los principales métodos para la gestión del ciclo de vida de la vista son:

    •   − (void)viewDidLoad La vista acaba de ser cargada.

    •   − (void)viewWillAppear:(BOOL)animated La vista va a aparecer.

    •   − (void)viewDidAppear:(BOOL)animated La vista acaba de aparecer.

    •   − (void)viewWillDisappear:(BOOL)animated La vista va a desaparecer.

    •   − (void)viewDidDisappear:(BOOL)animated La vista ha desaparecido.

    •   − (void)viewWillUnload Se va a liberar la vista.

    •   − (void)viewDidUnload La vista se ha liberado
CONTROLADORES 4


• Desde estos métodos se realizan las operaciones previas a la
 carga de las vistas

 • Generalmente      en los métodos
   •   − (void)viewDidLoad

   •   − (void)viewDidUnload
CONTENIDO


• Lifecycle   de la aplicación

• Controladores

    • Interface   Builder y controladores
INTERFACE BUILDER



• Interface
          Builder es la herramienta proporcionada por Apple
 para el desarrollo de interfaces

• Viene   incluida en Xcode
INTERFACE BUILDER 2

• Se comunica con los controladores mediante dos “palabras
 clave”, IBOutlet e IBAction

 • Un   IBOutletson propiedades que referencian a un elemento
   visual desde el controlador. Ej: Etiquetas

 • Un         son métodos que un evento lanza desde un
        IBAction
   elemento de la interfaz. EJ: Botones
INTERFACE BUILDER 3



• La   definición de un Outlet quedaría así:
•   @property (nonatomic, weak)IBOutlet UILabel * etiqueta;
INTERFACE BUILDER 4


• La   definición de una Action quedaría así:
•   -(IBAction)botonPulsado:(id)sender;


• Recibe     un parametro que es ele elemento que ha lanzado el
    evento
FIN

Más contenido relacionado

Destacado

3 2 Administracion Y Configuracion De Dispositivos
3 2 Administracion Y Configuracion De Dispositivos3 2 Administracion Y Configuracion De Dispositivos
3 2 Administracion Y Configuracion De DispositivosUVM
 
Introduccion Active Directory
Introduccion Active DirectoryIntroduccion Active Directory
Introduccion Active DirectoryFernando Ramirez
 
Unidad 6: Configuración y administración de Windows 7.
Unidad 6: Configuración y administración de Windows 7.Unidad 6: Configuración y administración de Windows 7.
Unidad 6: Configuración y administración de Windows 7.carmenrico14
 
Administración de recursos informáticoskirley
Administración de recursos informáticoskirleyAdministración de recursos informáticoskirley
Administración de recursos informáticoskirleypedromartinez1986
 
Laboratorio Administracion de Hardware y Software
Laboratorio Administracion de Hardware y SoftwareLaboratorio Administracion de Hardware y Software
Laboratorio Administracion de Hardware y Softwareguestc906c2
 
Ensamblar y Configurar un Equipo de Cómputo
Ensamblar y Configurar un Equipo de CómputoEnsamblar y Configurar un Equipo de Cómputo
Ensamblar y Configurar un Equipo de CómputoNorma Bravo
 
software de sistemas
software de sistemassoftware de sistemas
software de sistemas121704pepe
 

Destacado (9)

3 2 Administracion Y Configuracion De Dispositivos
3 2 Administracion Y Configuracion De Dispositivos3 2 Administracion Y Configuracion De Dispositivos
3 2 Administracion Y Configuracion De Dispositivos
 
Introduccion Active Directory
Introduccion Active DirectoryIntroduccion Active Directory
Introduccion Active Directory
 
Unidad 6: Configuración y administración de Windows 7.
Unidad 6: Configuración y administración de Windows 7.Unidad 6: Configuración y administración de Windows 7.
Unidad 6: Configuración y administración de Windows 7.
 
Administración de recursos informáticoskirley
Administración de recursos informáticoskirleyAdministración de recursos informáticoskirley
Administración de recursos informáticoskirley
 
Software
SoftwareSoftware
Software
 
Teclado
TecladoTeclado
Teclado
 
Laboratorio Administracion de Hardware y Software
Laboratorio Administracion de Hardware y SoftwareLaboratorio Administracion de Hardware y Software
Laboratorio Administracion de Hardware y Software
 
Ensamblar y Configurar un Equipo de Cómputo
Ensamblar y Configurar un Equipo de CómputoEnsamblar y Configurar un Equipo de Cómputo
Ensamblar y Configurar un Equipo de Cómputo
 
software de sistemas
software de sistemassoftware de sistemas
software de sistemas
 

Similar a Ios.s5

Aplicaciones moviles iphone ipad
Aplicaciones moviles iphone ipadAplicaciones moviles iphone ipad
Aplicaciones moviles iphone ipadcatalan21
 
CocoaHeads México: Introducción a CocoaTouch:UIKit
CocoaHeads México: Introducción a CocoaTouch:UIKitCocoaHeads México: Introducción a CocoaTouch:UIKit
CocoaHeads México: Introducción a CocoaTouch:UIKitErick Camacho
 
Ciclo de vida del software
Ciclo de vida del softwareCiclo de vida del software
Ciclo de vida del softwaremasferrer1998
 
Programacion en visual basic 8.0
Programacion en visual basic 8.0Programacion en visual basic 8.0
Programacion en visual basic 8.0Johanna Marin
 
Taller Práctico de Android
Taller Práctico de AndroidTaller Práctico de Android
Taller Práctico de AndroidJavier Muñoz
 
Mejores a nuestros proyectos de Software
Mejores a nuestros proyectos de SoftwareMejores a nuestros proyectos de Software
Mejores a nuestros proyectos de SoftwareJose Luis Bugarin Peche
 
Introducción al proceso unificado de desarrollo de software en Curso de Anali...
Introducción al proceso unificado de desarrollo de software en Curso de Anali...Introducción al proceso unificado de desarrollo de software en Curso de Anali...
Introducción al proceso unificado de desarrollo de software en Curso de Anali...Educagratis
 
01 el proceso_unificado
01 el proceso_unificado01 el proceso_unificado
01 el proceso_unificadoorgg2014
 
Lineas de produccion de software y Metodo watch (APP-COMPONENT)
Lineas de produccion de software y Metodo watch (APP-COMPONENT)Lineas de produccion de software y Metodo watch (APP-COMPONENT)
Lineas de produccion de software y Metodo watch (APP-COMPONENT)luisbritogasan
 
Cómo agregar calidad a sus aplicaciones mediante pruebas
Cómo agregar calidad a sus aplicaciones mediante pruebas Cómo agregar calidad a sus aplicaciones mediante pruebas
Cómo agregar calidad a sus aplicaciones mediante pruebas Motorola Mobility - MOTODEV
 
Deletreando Android
Deletreando AndroidDeletreando Android
Deletreando Androidjezabelink
 

Similar a Ios.s5 (20)

Aplicaciones moviles iphone ipad
Aplicaciones moviles iphone ipadAplicaciones moviles iphone ipad
Aplicaciones moviles iphone ipad
 
Springboot Overview
Springboot  OverviewSpringboot  Overview
Springboot Overview
 
CocoaHeads México: Introducción a CocoaTouch:UIKit
CocoaHeads México: Introducción a CocoaTouch:UIKitCocoaHeads México: Introducción a CocoaTouch:UIKit
CocoaHeads México: Introducción a CocoaTouch:UIKit
 
Sesion uno azuay
Sesion uno azuaySesion uno azuay
Sesion uno azuay
 
Ciclo de vida del software
Ciclo de vida del softwareCiclo de vida del software
Ciclo de vida del software
 
Programacion en visual basic 8.0
Programacion en visual basic 8.0Programacion en visual basic 8.0
Programacion en visual basic 8.0
 
Silabo android taller
Silabo android tallerSilabo android taller
Silabo android taller
 
Taller Práctico de Android
Taller Práctico de AndroidTaller Práctico de Android
Taller Práctico de Android
 
PROCESO UNIFICADO
PROCESO UNIFICADOPROCESO UNIFICADO
PROCESO UNIFICADO
 
AppIOS
AppIOSAppIOS
AppIOS
 
Modelo mvc
Modelo mvcModelo mvc
Modelo mvc
 
Mejores a nuestros proyectos de Software
Mejores a nuestros proyectos de SoftwareMejores a nuestros proyectos de Software
Mejores a nuestros proyectos de Software
 
Slides p3 2
Slides p3 2Slides p3 2
Slides p3 2
 
Introducción al proceso unificado de desarrollo de software en Curso de Anali...
Introducción al proceso unificado de desarrollo de software en Curso de Anali...Introducción al proceso unificado de desarrollo de software en Curso de Anali...
Introducción al proceso unificado de desarrollo de software en Curso de Anali...
 
01 el proceso_unificado
01 el proceso_unificado01 el proceso_unificado
01 el proceso_unificado
 
07 01-ciclosdevida
07 01-ciclosdevida07 01-ciclosdevida
07 01-ciclosdevida
 
ciclosdevidasofware
ciclosdevidasofwareciclosdevidasofware
ciclosdevidasofware
 
Lineas de produccion de software y Metodo watch (APP-COMPONENT)
Lineas de produccion de software y Metodo watch (APP-COMPONENT)Lineas de produccion de software y Metodo watch (APP-COMPONENT)
Lineas de produccion de software y Metodo watch (APP-COMPONENT)
 
Cómo agregar calidad a sus aplicaciones mediante pruebas
Cómo agregar calidad a sus aplicaciones mediante pruebas Cómo agregar calidad a sus aplicaciones mediante pruebas
Cómo agregar calidad a sus aplicaciones mediante pruebas
 
Deletreando Android
Deletreando AndroidDeletreando Android
Deletreando Android
 

Más de ulcurbegi (15)

Proyecto LISFAB y Emprendimiento 4.0
Proyecto LISFAB y Emprendimiento 4.0Proyecto LISFAB y Emprendimiento 4.0
Proyecto LISFAB y Emprendimiento 4.0
 
Ios.s14
Ios.s14Ios.s14
Ios.s14
 
Ios.s13
Ios.s13Ios.s13
Ios.s13
 
Ios.s12
Ios.s12Ios.s12
Ios.s12
 
Ios.s11
Ios.s11Ios.s11
Ios.s11
 
Ios.s10
Ios.s10Ios.s10
Ios.s10
 
Ios.s9
Ios.s9Ios.s9
Ios.s9
 
Ios.s8
Ios.s8Ios.s8
Ios.s8
 
Ios.s7
Ios.s7Ios.s7
Ios.s7
 
Ios.s6
Ios.s6Ios.s6
Ios.s6
 
Ios.s4
Ios.s4Ios.s4
Ios.s4
 
Ios.s3
Ios.s3Ios.s3
Ios.s3
 
Ios.s2
Ios.s2Ios.s2
Ios.s2
 
Ios.s1
Ios.s1Ios.s1
Ios.s1
 
Ios.s15
Ios.s15Ios.s15
Ios.s15
 

Ios.s5

  • 1. 5 - CONTROLADORES Y LIFECYCLE DE LA APLICACIÓN Curso de desarrollo de aplicaciones móviles para iPhone y iPad endika.gutierrez@urbegi.com alex.rayon@urbegi.com Urbegi Learning Contents
  • 2. CONTENIDO • Lifecycle de la aplicación • Controladores • Interface Builder y controladores
  • 3. CONTENIDO • Lifecycle de la aplicación • Controladores • Interface Builder y controladores
  • 4. LIFECYCLE DE LA APLICACIÓN • Todas las aplicaciones siguen un guión de ejecución • Comprende todos los eventos surgidos desde que el usuario lanza la aplicación hasta que la aplicación finalmente muere
  • 5. LIFECYCLE DE LA APLICACIÓN 2 • En las aplicaciones más sencillas de C, toda la vida de la aplicación transcurre en el método main() • En Java ocurre de manera similar • Objective-C parte de la base de C y amplia la lógica • Recordemos que Objective-C es una extensión de C
  • 6. LIFECYCLE DE LA APLICACIÓN 3 • Portanto la aplicación parte del método main(). Veamos la apariencia que tiene int main(int argc, char *argv[]) { @autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); } } • Unicamente llama a UIAplicatiónMain que será el encargado que gestionar todo el ciclo de la aplicación
  • 7. LIFECYCLE DE LA APLICACIÓN 4 •A este método UIAplicationMain se le proporciona una clase que debe implementar el protocolo UIApplicationDelegate que recibirá todos los eventos de la aplicación • Este protocolo comprende todos los posibles eventos externos a la aplicación que puedan surgir y afecten al ciclo de vida de la misma • Ver la referencia online
  • 8. LIFECYCLE DE LA APLICACIÓN 5 • Loseventos más importantes quedan representados en este gráfico: ApplicationDelegate El usuario lanza la aplicación application: main() didFinishLaunching WithOptions: UIApplicationMain() Ciclo de la Recepción de aplicación eventos App deja de estar applicationWill activa ResignActive La App se mueve al applicationDid background EnterBackground
  • 9. CONTENIDO • Lifecycle de la aplicación • Controladores • Interface Builder y controladores
  • 10. CONTROLADORES • El controlador es el elemento que gestiona la lógica de la aplicación • Suele ser de las clases más “pesadas” dentro del paradigma MVC • Es el elemento central que debe coordinar Vistas y modelo
  • 11. CONTROLADORES 2 • Son los encargados de crear y gestionar la jerarquía de vistas • Los controladores heredan de la clase UIViewController • Desde esta clase gestionan el ciclo de vida de las vistas
  • 12. CONTROLADORES 3 • Los principales métodos para la gestión del ciclo de vida de la vista son: • − (void)viewDidLoad La vista acaba de ser cargada. • − (void)viewWillAppear:(BOOL)animated La vista va a aparecer. • − (void)viewDidAppear:(BOOL)animated La vista acaba de aparecer. • − (void)viewWillDisappear:(BOOL)animated La vista va a desaparecer. • − (void)viewDidDisappear:(BOOL)animated La vista ha desaparecido. • − (void)viewWillUnload Se va a liberar la vista. • − (void)viewDidUnload La vista se ha liberado
  • 13. CONTROLADORES 4 • Desde estos métodos se realizan las operaciones previas a la carga de las vistas • Generalmente en los métodos • − (void)viewDidLoad • − (void)viewDidUnload
  • 14. CONTENIDO • Lifecycle de la aplicación • Controladores • Interface Builder y controladores
  • 15. INTERFACE BUILDER • Interface Builder es la herramienta proporcionada por Apple para el desarrollo de interfaces • Viene incluida en Xcode
  • 16. INTERFACE BUILDER 2 • Se comunica con los controladores mediante dos “palabras clave”, IBOutlet e IBAction • Un IBOutletson propiedades que referencian a un elemento visual desde el controlador. Ej: Etiquetas • Un son métodos que un evento lanza desde un IBAction elemento de la interfaz. EJ: Botones
  • 17. INTERFACE BUILDER 3 • La definición de un Outlet quedaría así: • @property (nonatomic, weak)IBOutlet UILabel * etiqueta;
  • 18. INTERFACE BUILDER 4 • La definición de una Action quedaría así: • -(IBAction)botonPulsado:(id)sender; • Recibe un parametro que es ele elemento que ha lanzado el evento
  • 19. FIN

Notas del editor

  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