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 diazepam Now 24/Internet)(safe Pharmacy. Best Online.
  • Buy Cheapest tramadol cod delivery Now Top Online Pharmacy. Best Drugstore.
  • Buy Cheap diuretics without prescription Now Best Internet. The Largest Internet Pharmacy.
  • Buy Cheapest valium online prescription Now Best Drugstore. Cheap Pharmacy Online.
  • ultram 50mg Online Without Prescription Best Prices. Pharmacy Store.
  • viagra suppliers Online Without Prescription Best Online. Pharmacy Store.
  • Buy Cheapest viagra on line pharmacy Now Cheap Pharmacy Online. Best Internet.
  • Buy Cheap valium without a precription Now Cheap Prescription Drugs. Guaranteed Shipping.
  • Buy Cheapest cialis overnight Now Special Prices For cialis overnight! Best Internet.
  • Buy Cheap cialis woman Now Online Medical Shop. Cheap Prescription Drugs.
  • Buy Cheap buy alprazolam now Now Cheap Online Pharmacy. Cheap Pharmacy Online.
  • Buy Cheap atorvastatin buy Online Best Drugstore. Online Prices For atorvastatin buy!
  • Buy Cheap sildenafil oral jelly Now Internet Prices For sildenafil oral jelly! Best Internet.
  • Buy Cheap nexium purchase Online No Prescription Needed. Best Drugstore.
  • Buy Cheapest viagra patch Online Cheap Prescription Drugs. Best Online.
  • Buy Cheap drug store pharmacy online Now Best Drugstore. Online Prices For drug store pharmacy online!
  • Buy Cheap what is the generic for viagra Online Internet Prices For what is the generic for viagra! Best Prices.
  • Buy Cheap where can i buy arthritis drugs Now Free Viagra Pills! No Prescription Needed.
  • Buy Cheapest weight loss medicine online prescrition Now Low Prices. Discount Pharmacy Online.
  • Buy Cheapest buy finasteride online Now Cheap Online Pharmacy. WorldWide Shipping.
  • Buy Cheapest infertility treatment drugs Online Cheap Online Pharmacy. Best Internet.
  • Buy Cheap levitra description Online Guaranteed Shipping. Top Online Pharmacy.
  • tadalafil soft tabs Online Without Prescription Pharmacy Store. Best Drugstore.
  • Buy Cheapest weight loss no prescription Now Best Prices. Drugs, Health And Beauty.
  • Buying Cheap cialis safety. Offshore Rx, Best Prices. Guaranteed Shipping.
  • Buy Cheapest zetia cost Now 100% Satisfaction Guaranteed. Best Online.
  • Buy Cheap order cialis online Now The Largest Internet Pharmacy. Low Prices.
  • Buy Cheap pain products Now Discount Pharmacy Online. Guaranteed Shipping.
  • Buy Cheapest levitra information Now Best Online. Internet Prices For levitra information!
  • Buy Cheapest generic cialis overnight delivery Now Free Viagra Pills! 24/Online Pharmacy.
  • Buy Cheapest side effects from viagra Online Low Prices. Internet Prices For side effects from viagra!
  • Buy Cheap chlamydia antibiotics Online WorldWide Shipping. Guaranteed Shipping.
  • Buy Cheapest online pharmacy in canada Online WorldWide Shipping. Free Viagra Pills!
  • Buy Cheap tramadol worldwide Online No Prescription Needed. Best Internet.
  • Buy Cheap levitra online order Online Discount Online Pharmacy. Pharmacy Store.
  • Buy Cheap buy generic levitra cheap Online Guaranteed Shipping. Cheap Online Pharmacy.
  • Buy Cheap muscle relaxants otc Now WorldWide Shipping. Discount Pharmacy Online.
  • Buy Cheapest pharmacy diflucan Now Cheap Pharmacy Online. Pharmacy Store.
  • Buy no prescription ultram Online Without Prescription. Best Drugstore. Low Prices.
  • Buy Cheapest promethazine side effects Online Best Internet. Drugs, Health And Beauty.
  • Buy Cheap drug store coupon Online The Largest Internet Pharmacy. Low Prices.
  • Buy Cheap vitamin shoppes Now Free Viagra Pills! Online Prices For vitamin shoppes!
  • Buy Cheap pain meds online without a prescription Now Low Prices. 24/Internet)(safe Pharmacy.
  • Buy Cheap foot pain products Online Top Online Pharmacy. 24/Online Pharmacy.
  • Buy Cheap 30 mg phentermine Now Pharmacy Store. The Largest Internet Pharmacy.
  • Buy Cheap products for back pain Now Free Viagra Pills! Cheap Pharmacy Online.
  • Buy Cheap antianxiety meds Now Free Viagra Pills! Online Medical Shop.
  • Buy Cheapest obesity self help Now Top Online Pharmacy. 24/Online Pharmacy.
  • Buy Cheap genric viagra Online WorldWide Shipping. Guaranteed Shipping.
  • Buy Cheapest soft tabs viagra Now Top Online Pharmacy. Online Medical Shop.
  • india drug sales on line Online Without Prescription Online Medical Shop. Low Prices.
  • Buy Cheap buy anti anxiety Online No Prescription Needed. Best Internet.
  • Buy Cheapest cialis generic overnight state united Online Buy Medications Online. Best Online.
  • Buy Cheap cialis gel Now Online Prices For cialis gel! Online Medical Shop.
  • Buy Cheap buy levitra us Online Best Online. Discount Online Pharmacy.
  • Buy Cheap mexico pharmacies Online Online Prices For mexico pharmacies! Best Drugstore.
  • Buy Cheap prescription weight loss drugs Now Order Cheap Meds Without Rx. Best Internet.
  • buy sildenafil citrate Online Without Prescription Best Prices. Best Internet.
  • Buy Cheap extreme weight loss Now WorldWide Shipping. 24/Online Pharmacy.
  • Buy Cheapest mexico levitra Online Best Internet. 24/Online Pharmacy.
  • Buy Cheap order inderal Now Best Drugstore. Discount Online Pharmacy.
  • Buy Cheapest ativan no prescription Now Special Prices For ativan no prescription! Best Internet.
  • Buy Cheapest buspar anxiety Now Top Online Pharmacy Supplier. Best Online.
  • rimonabant acomplia Online Without Prescription Best Prices. Best Online.
  • Buy Cheapest rx drugs without prescription Now Guaranteed Shipping. Cheap Online Pharmacy.
  • Buy Cheap energy diet pill Now Cheap Online Pharmacy. No Prescription Needed.
  • Buy Cheapest buy pain meds online without rx Now Free Viagra Pills! Buy Medications Online.
  • Buy Cheap lasix furosemide Online Low Prices. Drugs, Health And Beauty.
  • Buy Cheapest zovirax Online Guaranteed Shipping. Best Drugstore.
  • Buy Cheap mexican discount drugs Online Pharmacy At The Best Price! Best Drugstore.
  • Buy Cheap clomid ovulation day Now Buy Medications Online. Pharmacy Store.
  • Buy Cheap tablet zolpidem Now Low Prices. All Medications Are Certificated!
  • Buy Cheapest prescription clonazepam Now Low Prices. Pharmacy At The Best Price!
  • Buy Cheap viagra side affects Online Best Drugstore. Cheap Online Pharmacy.
  • Buy Cheap order tofranil Online Best Drugstore. Online Prices For order tofranil!
  • Buy Cheap tips for weight loss Now Discount Online Pharmacy. Pharmacy Store.
  • Buy Cheap ativan information Now Discount Online Pharmacy. WorldWide Shipping.
  • Buy Cheap pharmacies Online WorldWide Shipping. Guaranteed Shipping.
  • Buy Cheapest pain medication online pharmacy Now Low Prices. Online Prices For pain medication online pharmacy!
  • Buy Cheap india pharmacies Now Discount Online Pharmacy. Pharmacy Store.
  • Buy Cheapest cheap 10mg cialis without a prescription Now Cheap Pharmacy Online. Top Online Pharmacy.
  • Buy Cheap cost of viagra Online Cheap Online Pharmacy. Top Online Pharmacy.
  • Buy Cheapest cheapest phentermine online Now Best Online. Cheap Prescription Drugs.
  • Buy Cheap valium and driving Now Guaranteed Shipping. Cheap Pharmacy Online.
  • Buy Cheapest levitra dosing Online Best Drugstore. WorldWide Shipping.
  • Buy Cheap xanax withdrawals Now Cheap Prescription Drugs. Best Internet.
  • Buy Cheap buy prescription diet pills Now Free Viagra Pills! No Prescription Needed.
  • Buy Cheapest free trail of cialis Online Low Prices. Buy Medications Online.
  • Buy Cheap cialis free trials Now The Largest Internet Pharmacy. Best Prices.
  • Buy Cheap cialis buy Now The Largest Internet Pharmacy. Low Prices.
  • online prescription pharmacy Online Without Prescription Best Drugstore. Best Prices.
  • Buy Cheap cheap cialis pillstore Online Online Prices For cheap cialis pillstore! Low Prices.
  • Buy Cheapest impotent tadalafil softtabs Online No Prescription Needed. Best Drugstore.
  • Buy Cheap discount drugstore Online Best Online. Discount Pharmacy Online.
  • Buy Cheap generic cialis absolute lowest price Now 24/Online Pharmacy. Top Online Pharmacy.
  • Buy Cheap alprazolam overdose Online WorldWide Shipping. No Prescription Needed.
  • Buy Cheapest pills zoloft Now We Can Offer You Visit Our Online Pharmacy.
  • Buy order phentermine uk Without Prescription Doctor. Low Prices. Best Online.
  • Buy Cheap phentermine cod delivery Online Drugs, Health And Beauty. Best Prices.
  • Buy Cheap worlds strongest fat burner Now Buy Medications Online. Top Online Pharmacy.