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

Ios.s5

  • 1.
    5 - CONTROLADORESY 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 • Desdeestos 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.