A questo punto non ci resta che inserire il codice per i ViewController delle viste e fare gli opportuni collegamenti degli elementi grafici con Interface Builder.
Dunque andiamo a vedere il codice relativo al file header del ViewController:
#import # <UIKit/UIKit.h>
@class GuidaAppDelegate;
@interface Vista1ViewController : UIViewController {
GuidaAppDelegate *appDelegate;
IBOutlet UIButton *backButton;
}
- (IBAction) backButtonAction:(id)sender;
@end
Il codice da inserire, come possiamo vedere, è molto breve: dichiariamo un attributo per il delegato ed uno per il bottone che, se cliccato, mostrerà il menù principale (comportamento che verrà gestito dal metodo backButtonAction).Andiamo adesso nel file di implementazione del ViewController ed inseriamo lo stesso codice mostrato per il MenuViewController sempre nel metodo didFinishLaunchingWithOptions. Questo ci permetterà, come abbiamo visto prima, di poter gestire dal menù la corretta visualizzazione della view. Detto questo inseriamo, come sempre, l’inclusione del file header del delgato e inseriamo i synthesize necessari per i due attributi della classe. A questo punto mostriamo il codice relativo al metodo associato al bottone backButton:
- (IBAction) backButtonAction:(id)sender{
[self.view removeFromSuperview];
[appDelegate.window addSubview:[appDelegate.menuViewController view]];
}
Il codice implementativo è estremamente semplice infatti rimuoviamo la vista relativa al ViewController e poi mostriamo la vista del controllore del menù. Anche in questo caso è opportuno inserire tutti i release degli attributi all’interno del metodo dealloc.
Come detto precedentemente il codice implementativo per i tre ViewController è il medesimo e quindi è sufficiente fare un copia e incolla del codice. A questo punto abbiamo terminato l’analisi del nostro codice sorgente e dunque possiamo spostarci su Interface Builder per poter effettuare le connessioni necessarie.