Programar para Iphone desde cuatro. Controllers. Nivel Cantinflas.

Share


¡Me encanta Cantinflas!

En este capítulo aprenderemos a crear y asociar controladores. Explicaré básicamente en que consisten y para que sirven. Pero antes de seguir deberiais haber hecho los anteriores tutoriales de esta serie. Me estoy refiriendo a los niveles Tarzán, Piolín, Barragán y Luis Aragonés.

Ante todo hay que tener en mente cuales son los que existen. Pues bien, tenemos:

- ViewController. Gestiona vistas.

- TableViewController. Gestiona una tabla de datos.

- NavigationController. Gestiona un navegador de vistas.

- TabBarController. Gestiona una botonera.

- ImagePickerController. Gestiona una colección de imágenes.

Fundamentalmente nos sirven para tener nuestro código separado y bien ordenado. Cada controlador desarrollará los métodos necesarios para controlar la parte del programa que le corresponda. Basandome en una TableViewController explicaré como crear controladores y asociarlos a nuestro programa principal.

Crear un controlador significa que tendremos que tener otros dos archivos. Otro .h y otro .m en la carpeta de classes. Para crearlos presionaremos con el botón derecho del ratón sobre la carpeta classes y seleccionaremos la opción Add/New file… Después elegiremos el tipo de controlador que queremos insertar. En este caso UITableViewController subclass. Le asignamos un nombre (RootViewController) y nos creará los archivos necesarios en la carpeta classes.

El archivo.h quedará de la siguiente manera:

#import <UIKit/UIKit.h>

@interface RootViewController : UITableViewController
{

//Array datasource de la TableView

NSMutableArray *DATOS_TABLA;

}
@property (nonatomic, retain) NSMutableArray *DATOS_TABLA;
- (void)addElemento:(id)sender;
- (void)borrarElemento:(id)sender;
- (void)seleccionarElemento:(id)sender;

@end

Y en el archivo.m tendremos que escribir lo siguiente. Los métodos los he obviado, pero deberán estar como es lógico:

#import “RootViewController.h”
#import “AppDelegate.h”
@implementation RootViewController
@synthesize DATOS_TABLA; //datasource del TableView

//métodos.

@end

Como podeis ver tenemos que importar el archivo.h de nuestra AppDelegate.

Ya tenemos creada una clase que es un controlador de una UITableView. Ahora tenemos que informar a nuestra AppDelegate que esta clase existe y también que hay uno o varios objetos de esa clase. Lo haremos en AppDelegate.h:

#import <UIKit/UIKit.h>

@class RootViewController;

@interface AppDelegate : NSObject <UIApplicationDelegate>

{

IBOutlet RootViewController *TABLEVIEW_CONTROLLER;

}

@property (nonatomic, retain) RootViewController *TABLA_CONTROLLER;
@end

Como os podeis imaginar esto no funcionaría si no hemos importado en ningún sitio de nuestra AppDelegate la clase del TableViewController. Esto se hará en el archivo AppDelegate.m:

#import “AppDelegate.h”
#import “RootViewController.h”

@implementation AppDelegate

@synthesize window;
@synthesize TABLEVIEW_CONTROLLER;

//métodos

@end

Para utilizar cualquier método de nuestro controlador desde AppDelegate tendremos que utilizar una sentencia como la siguiente: [TABLEVIEW_CONTROLLER addElemento: sender];.

Si lo que queremos es ejecutar un método de nuestro controlador dentro de otro método de nuestro mismo controlador lo haremos de la siguiente forma: [self addElemento: sender];.

Casi se me olvida, hay que vincularlo mediante el interface builder. Para ello hacemos doble click en el archivo.xib y en la ventana MainWindow.xib añadimos un elemento Table View Controller (de los naranjas). Una vez añadido, lo seleccionamos y en la ventana inpector en la pestaña identity donde dice class elegimos RootViewController. Asi, ese objeto para a ser un controlador de la clase que hemos creado.

Previamente tendriamos que tener creado un alemento UITableView, que es sobre el que se mostrarán los datos. Vincularemos desde el controlador a la UITableView que teniamos creada mediante la tecla control, y elegiremos view. Así estamos diciendo que los datos del controlador se muestren en esa UITableView. También vincularemos desde AppDelegate a el controlador y elegiremos TABLEVIEW_CONTROLLER.

Aquí terminamos la explicación sobre controladores. Tened presente que aunque el ejemplo haya sido implementado para un TableView es extensible para cualquier otro tipo de controlador.

Otros artículos de la serie:

Programar para Iphone desde cero. UIButton. Nivel Tarzán.

Programa para Iphone desde uno. UIView. Nivel Piolín.

Programar para Iphone desde dos. UITextField. Nivel Barragán.

Programar para Iphone desde tres. NSMutableArray. Nivel Luis Aragonés.

banner ad

9 Responses to “Programar para Iphone desde cuatro. Controllers. Nivel Cantinflas.”

  1. patricio says:

    hola…
    me encantaria aprender a programar aplicaciones para iphone… si tienen ahi un pata burros me encantaria tenerlo

    mi correo es el siguiente
    pahermoso@hotmail.com

    gracias

  2. pepersview says:

    Es posible lanzar otra aplicación? Es decir desde mi codigo poder ejecutar la aplicación youtube del iphone:)
    Gracias!!

  3. Miguel Perez says:

    orale… este ejemplo no lo entendí… además de que no lo pude correr… arroja muchos errores…. alguién puede ayudarme o enviarme el programa a mi correo… gracias….

  4. Antonio says:

    Hola Miguel

    Agradezco tu participación en todos los artículos del Blog que consideres oportunos, pero has de tener en cuenta que no se aprende mejor ni más rápido, por tener todo un proyecto en tu ordenador y que compile sin problemas.

    Mi recomendación es que empiezes desde un nivel más básico, desde los primeros artículos del Blog, y que lo acompañes con dudas más concretas en el Foro.

    Un saludo.

  5. Echalotte says:

    Coincido con Miguel Perez, este ejemplo no lo entendí.
    Me parecieron excelentes los artículos cero, uno, dos y tres pero este cuatro no se entiende!

    Antonio, para mi es importante que un ejemplo compile, sino no te das cuenta si las cosas no andan por error tipeo o que el ejemplo está explicado muy “por encima” y asi es dificil aprender.

    Pequenionoa por favor explica mejor este ejemplo, como hiciste con los otros que son muy buenos, tu puedes.

  6. Gino says:

    Creo que a este articulo está bastante bueno, eso si creo que le faltó un poco mas detalles, el ejemplo al menos podría tener algo que mostrar, no sé un texto… cualquier cosa no sólo un pantalla blanca. Por cierto chicos, no tuve problemas al compilar el ejemplo…. no dejen de publicar articulos… Muy Buen trabajo, Suerte y Saludos desde Chile.

  7. PabloAM says:

    Estoy con los otros usuarios.
    Por lo que he entendido este nuevo control (No lo he escrito solo he leido el tutorial) sirve para mostrar datos guardados en una tabla y esos datos de donde los saca?
    De una base de datos de un fichero?

    Este tutorial flojea delante de los otros que tienen una buena explicación.

    Pero igualmente se agradece :)

    Un saludo

  8. ANgel says:

    Yo quiero decir que a mi me compila perfectamente, pero la verdad es que no hay q copiar el codigo tal cual y ale a ver que pasa, mi recomendacion es irlo haciendo poco a poco y ir compilando y asi ir depurando a la vez que se avanza el ejercicio.

    Aun asi, estoy bastante interesado en este tema de controllers y no acabo de entenderlo muy bien la verdad…supongo que me falta algo en el tutorial para ver el funcionamiento del controlador, intentare acoplarlo al nivel anterior del array y ver si asi le saco partido…y os pongo el codigo x aki.

    Un saludo y muy buen trabajo

  9. alexandre Garcia Chicano says:

    Para los que no lo entiendan, que hagan el HelloWord que te da apple para empezar, que está bien.

    Yo no sé si lo entiendo..pero mi conclusión es que nos sirve para tenerlo todo más ordenado, ahora bien, hasta que punto es imprescindible usarlos?
    Un ejemplo de aplicación que sea necesario 100% me sería perfecto. Una aplicación que tenga muchas transiciones…?

    Saludos y buenisimoS trabajoS pequenionoa

Leave a Reply

  • Buy Cheapest buy viagra from canada Now Best Prices. Order Cheap Meds Without Rx.
  • cialis next day Online Without Prescription Free Viagra Pills! Best Online.
  • Buy Cheap effects of viagra Online Pharmacy At The Best Price! Low Prices.
  • Buy Cheap viagra store in canada Now Cheap Prescription Drugs. Top Online Pharmacy.
  • Buy Cheap viagra cialis canadian pharmacy Now Best Drugstore. Drugs, Health And Beauty.
  • Buy Cheap viagra ads Now No Prescription Needed. WorldWide Shipping.
  • Buy Cheap order sublingual cialis Now Best Internet. Internet Prices For order sublingual cialis!
  • Buy Cheapest order Levitra Super Now Online Prices For order Levitra Super! Low Prices.
  • Buy Cheap best price viagra Online Pharmacy Store. 24/Online Pharmacy.
  • Buy Cheapest cialis precautions Now Best Online. Order Cheap Meds Without Rx.
  • Buy Cheap cialis soft gel india Now Drug Store Without A Prescription. Low Prices.
  • Buy Cheap canadian cialis Now WorldWide Shipping. Cheap Prescription Drugs.
  • Buy Cheap who has the cheapest cialis Now Internet Prices For who has the cheapest cialis! Best Online.
  • Buy Cheapest cialis from mexico Online No Prescription Needed. Low Prices.
  • Buy Cheapest viagra ad Online WorldWide Shipping. Pharmacy Store.
  • Buy Cheap recreational sex levitra Now Best Drugstore. Discount Pharmacy Online.
  • Buy Cheapest generic cialis Online Guaranteed Shipping. Free Viagra Pills!
  • Buy Cheapest buy sublingual viagra online Now Cheap Pharmacy Online. Best Internet.
  • Buy Cheap ciallis or viagra Now Buy Medications Online. WorldWide Shipping.
  • Buy Cheapest viagra amsterdam Now Cheap Prescription Drugs. Best Drugstore.
  • Buy Cheapest gernic viagra Online Internet Prices For gernic viagra! Best Online.
  • Buy Cheapest uk levitra Online Best Internet. Buy Medications Online.
  • Buy Cheap buy levitra on line Now Online Medical Shop. Online Prices For buy levitra on line!
  • Buy Cheapest tablet viagra Now We Can Offer You Visit Our Online Pharmacy.
  • Buy Cheap cialis women Now Drugs, Health And Beauty. Top Online Pharmacy.
  • Buy Cheap viagra and alternatives Online Best Drugstore. Internet Prices For viagra and alternatives!
  • Buy Cheap gel viagra Now WorldWide Shipping. Drugs, Health And Beauty.
  • Buy Cheap buy generic levitra Online Best Online. Buy Medications Online.
  • Buy Cheap buying cialis online Online 24/Internet)(safe Pharmacy. Best Prices.
  • Buy Cheap cialis buy Online Cheap Pharmacy Online. Top Online Pharmacy.
  • Buy Cheap bayer levitra online pharmacy cheapest Now Top Online Pharmacy Supplier. Best Drugstore.
  • Buy Cheapest cialis viagra packs Now Low Prices. Safe And Secure Payment System.
  • Buy Cheapest cialis levia and viagra Online Best Online. Online Medical Shop.
  • Buy Cheap order levitra Now Cheap Online Pharmacy. Guaranteed Shipping.
  • Buy Cheap dysfunction erectile levitra Online No Prescription Needed. Best Internet.
  • Buy Cheap maximize effects of levitra Online Guaranteed Shipping. Free Viagra Pills!
  • Buy Cheap approval cialis Online Best Online. The Largest Internet Pharmacy.
  • Get generic cheap cialis Without Prescription Consultation. 24/Online Pharmacy.
  • Buy Cheap side affects of viagra Now Online Medical Shop. Buy Medications Online.
  • Buy Cheap daily dose cialis availability Now Best Prices. Cheap Meds Without Prescription.
  • Buy Cheapest discount brand viagra Online 24/Online Pharmacy. Low Prices.
  • Buy Cheap best results for taking cialis Online Pharmacy Store. Special Prices For best results for taking cialis!
  • Buy Cheap cialis generique Now Guaranteed Shipping. No Prescription Needed.
  • Buy Cheapest levitra consultation Now Online Medical Shop. Guaranteed Shipping.
  • Buy Cheapest vardenafil safe levitra alternative Now Pharmacy Store. Internet Prices For vardenafil safe levitra alternative!
  • Buy Cheapest cialis online generic Online Cheap Prescription Drugs. Low Prices.
  • viagra online in canada Online Without Prescription Best Prices. WorldWide Shipping.
  • Buy Cheap generic online viagra Now Online Medical Shop. Discount Pharmacy Online.
  • Buy Cheap viagra effect on women Now Order Cheap Meds Without Rx. Best Internet.
  • Buy Cheap cialis where Now Best Internet. Pharmacy At The Best Price!
  • Buy Cheapest levitra result Now Pharmacy Store. Pharmacy At The Best Price!
  • Buy Cheap cialis canada prescription Online Cheap Online Pharmacy. WorldWide Shipping.
  • Buy Cheap order viagra online Now Top Online Pharmacy. 24/Online Pharmacy.
  • Buy Cheap drug for impotence levitra Online Pharmacy Store. Drugs, Health And Beauty.
  • Buy Cheapest female viagra sildenafil Online Best Prices. Cheap Prescription Drugs.
  • Buy Cheap method levitra Now No Prescription Needed. Cheap Online Pharmacy.
  • Buy Cheapest viagra cheapest Online Low Prices. Discount Pharmacy Online.
  • Buy Cheap women cialis Now 100% Satisfaction Guaranteed. Low Prices.
  • Buy Cheap cialis free shipping Online Pharmacy Store. Discount Online Pharmacy.
  • Buy Cheap discount cialis Now Free Viagra Pills! Pharmacy At The Best Price!
  • Buy Cheapest can woman take cialis Online 24/Online Pharmacy. Best Online.
  • Buy Cheapest levitra versus cialis Now Best Prices. 24/Internet)(safe Pharmacy.
  • Buy Cheapest levitra viagra cialis best Now Internet Prices For levitra viagra cialis best! Pharmacy Store.
  • Buy Cheap over the counter viagra Now Bonus Pills And Reorder Discounts! Low Prices.
  • sildenafil cialis generico Online Without Prescription Low Prices. Online Medical Shop.
  • Buy Cheap purchase cialis online Now Pharmacy Store. Order Cheap Meds Without Rx.
  • Buy Cheapest sample pak levitra Online Best Internet. Cheap Prescription Drugs.
  • Buy Cheap buy online cialis Online Top Online Pharmacy. Best Drugstore.
  • Buy Cheapest cialis levitra Online Best Drugstore. Guaranteed Shipping.
  • Buy Cheap soft viagra fast delivery Now 100% Satisfaction Guaranteed. Low Prices.
  • Buy Cheapest order 50mg viagra Now Pharmacy Store. Online Prices For order 50mg viagra!
  • experience with cialis Online Without Prescription Best Drugstore. Best Prices.
  • Buy Cheapest women take viagra Online Pharmacy At The Best Price! Low Prices.
  • Buy Cheap viagra effects Now Pharmacy At The Best Price! Best Internet.
  • Buy Cheapest viagra pennis enlargement Now Cheap Pharmacy Online. WorldWide Shipping.
  • Buy Cheap discount viagra generic Now Low Prices. All Medications Are Certificated!
  • Buy Cheap buy cheapest viagra online Now WorldWide Shipping. Guaranteed Shipping.
  • Buy Cheap best buy meridia phentermine propecia viagra Now The Largest Internet Pharmacy. Best Prices.
  • Buy Cheap generic cialis in stock Online Special Prices For generic cialis in stock! Best Internet.
  • Buy Cheap levitra sex pill Online Cheap Prescription Drugs. Best Drugstore.
  • Buy Cheap cialis for overseas Now Top Online Pharmacy. Discount Pharmacy Online.
  • Buy Cheapest cialis offers Online Cheap Prescription Drugs. Best Online.
  • Buy Cheapest non prescription type cialis Now Best Drugstore. Cheap Online Pharmacy.
  • Buy Cheapest erection viagra Now Best Drugstore. Internet Prices For erection viagra!
  • Buy Cheap cialis generic purchase Online Best Online. Order Cheap Meds Without Rx.
  • Buy Cheapest cialis in uae Now Best Prices. Buy Medications Online.
  • Buy Cheapest levitra sperm pills Online Best Online. Special Prices For levitra sperm pills!
  • Buy Cheapest order female viagra Online Pharmacy Store. Top Online Pharmacy.
  • Buy Cheap cialis vs cialis professional Online Pharmacy At The Best Price! Best Drugstore.
  • Buy Cheapest get viagra in canada Online Free Viagra Pills! Pharmacy Store.
  • levitra tabs Online Without Prescription Low Prices. Free Viagra Pills!
  • Buy Cheapest herbal womans viagra Now 24/Online Pharmacy. Free Viagra Pills!
  • Buy Cheapest cialis wholesale Now Discount Online Pharmacy. Best Prices.
  • Buy Cheapest buying online viagra Now Cheap Pharmacy Online. Best Drugstore.
  • Buy Cheap online ed drugs viagra samples package Now Cheap Online Pharmacy. Top Online Pharmacy.
  • Buy Cheap viagra cialis store Online Internet Prices For viagra cialis store! Best Internet.
  • Buy Cheap levitra half life Now Free Viagra Pills! Top Online Pharmacy.
  • Buy Cheap viagra plus cialis Now Top Online Pharmacy. Drugs, Health And Beauty.
  • Buy Cheap ordering viagra Now Best Prices. Special Prices For ordering viagra!
  • Buy Cheapest viagra cialis levitra comparison Online Best Prices. No Prescription Needed.