Apriamo dunque il file .xib relativo al menù con Interface Builder e clicchiamo su File’s Owner. Spostandosi nella sezione connections vedremo che non è possibile associare nessun elemento grafico ad una direttiva del codice sorgente. Questo perchè i file .xib che non sono generati in automatico all’atto di creazione del progetto, è come se fossero entità a se stanti e senza nessuna relazione con l’applicazione a cui stiamo lavorando. E’, quindi, necessario effettuare una sorta di collegamento tra il file .xib e la classe MenuViewController scritta nei capitoli precedenti. Per fare ciò è sufficiente posizionarsi nella sezione identity (identificata da un’icona con una i bianca a sfondo blu) ed inserire nel campo Class il nome della classe a cui vogliamo associare il file .xib. A questo punto, se torniamo nella sezione Connections vedremo che è possibile associare gli elementi grafici presenti nell’interfaccia con il codice sorgente che abbiamo scritto precedentemente.
Adesso facciamo le opportune connessioni con gli elementi grafici e i metodi di gestione del click del bottone.
Una volta ripetuta l’operazione per tutti i file .xib facenti parti del progetto, abbiamo terminato la stesura della nostra applicazione e possiamo dunque testarla con il simulatore.
Ampliare la nostra applicazione di esempio: cenni
Come detto precedentemente, la struttura del progetto, così come è stata mostrata, risulta una solida base implementativa che è possibile espandere per applicazioni più complesse. Per intenderci, se si vuole aggiungere un’altra voce del menù è sufficiente seguire la seguente scaletta:
- Si crea il ViewController della nuova vista dichiarando all’interno un attributo per il delegato e si associa quest’ultimo al ViewController nelle modalità viste precedentemente.
- Creiamo il file .xib con l’interfaccia grafica ed associamolo al ViewController corretto.
- All’interno del delegato si crea un attributo relativo al ViewController aggiunto e nel metodo didFinishLaunching inseriamo l’allocazione e l’inizializzazione del ViewController.