Guida XCODE Applicazione window-based: analisi del codice
Pagina 1 di 1
Guida XCODE Applicazione window-based: analisi del codice
Passiamo all'analisi del codice presente nel nostro progetto window-based.
Come possiamo vedere la cartella Classes conterrà solamente due file con la seguente struttura:
NomeProgettoAppDelegate
Il file di header
Andiamo quindi ad aprire il file di header che presenta il seguente codice:
#import <UIKit/UIKit.h?>
@interface TutorialWebMasterAppDelegate : NSObject <UIApplicationDelegate?> {
UIWindow *window;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@end
Come prima istruzione viene importato il framework UIKit.
Questo framework è indispensabile per costruire delle interfacce
grafiche in quanto contiene tutti gli elementi grafici come le window,
le view, i bottoni, le tab bar e molto altro.
Il nome di ogni elemento grafico inizierà con il prefisso UI per identificare l'appartenenza di questi elementi al framework UI.
Continuando nella lettura del codice, troviamo la definizione della
classe che possiede un solo attributo identificato da una window. Viene
dichiarata poi la property relativa all'attributo secondo le regole
esposte nei capitoli precedenti.
L'attenzione del lettore può essere attratta dalla keyword IBOutlet
che è un direttiva rivolta ad Interface Builder; per il momento
ignoriamo questa direttiva che verrà trattata abbondantemente più
avanti.
Il file d'implementazione
Andiamo adesso ad analizzare il codice sorgente nel file di implementazione.
Come possiamo vedere il file contiene, oltre all'import relativo del
file header e del synthesize della window, anche molte altri metodi i
quali vengono invocati automaticamente quando l'applicazione si trova in
un determinato stato. Per il momento concentriamoci esclusivamente sul
primo metodo
didFinishLaunchingWithOptions
che contiene il codice che verrà eseguito una volta che è stata lanciata l'applicazione.
All'interno di questo metodo troviamo solo l'istruzione
[window makeKeyAndVisible];
che mostra a video la window creata. Di default il colore della window è bianco.
Andando a cliccare sull'icona Build and Run si aprirà
automaticamente il simulatore che, inizialmente, mostrerà una schermata
nera e poi mostrerà la window bianca. Il lasso di tempo in cui il
simulatore mostra lo schermo nero indica il tempo di launch dell'applicazione dopo il quale viene richiamato il metodo
didFinishLaunchingWithOptions
che mostrerà a schermo la window bianca.
Concentriamoci adesso sul metodo didFinishLaunchingWithOptions e modifichiamo il corpo del metodo nel seguente modo:
window.backgroundColor = [UIColor redColor];
[window makeKeyAndVisible];
La linea di codice aggiunta consente di accedere al backgroundColor
dell'oggetto window al quale assegniamo il colore rosso (è stato
possibile effettuate l'asssegnazione perchè nel nostro file header
avevamo dichiarato, in maniera appropriata, le property relative
all'oggetto window).
Il colore viene assegnato invocando il metodo di classe redColor della classe UIColor.
Se provate a lanciare l'applicazione, adesso, verrà mostrata la window di colore rosso.
Scorrendo il listato di codice relativo al file di implementazione troviamo come ultimo metodo dealloc. Questo metodo è l'equivalente del distruttore in una classe C++. Analizziamo il codice relativo al metodo dealloc:
[window release];
[super dealloc];
Quando abbiamo parlato delle property abbiamo detto che l'attributo retain incrementava di una unità il contatore relativo ai riferimenti a quell'oggetto. il metodo release
compie l'operazione inversa: decrementa di un'unità questo contatore.
Quando il contatore arriva a zero l'oggetto viene deallocato.
La seconda istruzione ha l'effetto di invocare il metodo dealloc sulla superclasse, ovvero sulla classe che abbiamo ereditato (nel nostro caso NSObject).
Come possiamo vedere la cartella Classes conterrà solamente due file con la seguente struttura:
NomeProgettoAppDelegate
Il file di header
Andiamo quindi ad aprire il file di header che presenta il seguente codice:
#import <UIKit/UIKit.h?>
@interface TutorialWebMasterAppDelegate : NSObject <UIApplicationDelegate?> {
UIWindow *window;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@end
Come prima istruzione viene importato il framework UIKit.
Questo framework è indispensabile per costruire delle interfacce
grafiche in quanto contiene tutti gli elementi grafici come le window,
le view, i bottoni, le tab bar e molto altro.
Il nome di ogni elemento grafico inizierà con il prefisso UI per identificare l'appartenenza di questi elementi al framework UI.
Continuando nella lettura del codice, troviamo la definizione della
classe che possiede un solo attributo identificato da una window. Viene
dichiarata poi la property relativa all'attributo secondo le regole
esposte nei capitoli precedenti.
L'attenzione del lettore può essere attratta dalla keyword IBOutlet
che è un direttiva rivolta ad Interface Builder; per il momento
ignoriamo questa direttiva che verrà trattata abbondantemente più
avanti.
Il file d'implementazione
Andiamo adesso ad analizzare il codice sorgente nel file di implementazione.
Come possiamo vedere il file contiene, oltre all'import relativo del
file header e del synthesize della window, anche molte altri metodi i
quali vengono invocati automaticamente quando l'applicazione si trova in
un determinato stato. Per il momento concentriamoci esclusivamente sul
primo metodo
didFinishLaunchingWithOptions
che contiene il codice che verrà eseguito una volta che è stata lanciata l'applicazione.
All'interno di questo metodo troviamo solo l'istruzione
[window makeKeyAndVisible];
che mostra a video la window creata. Di default il colore della window è bianco.
Andando a cliccare sull'icona Build and Run si aprirà
automaticamente il simulatore che, inizialmente, mostrerà una schermata
nera e poi mostrerà la window bianca. Il lasso di tempo in cui il
simulatore mostra lo schermo nero indica il tempo di launch dell'applicazione dopo il quale viene richiamato il metodo
didFinishLaunchingWithOptions
che mostrerà a schermo la window bianca.
Concentriamoci adesso sul metodo didFinishLaunchingWithOptions e modifichiamo il corpo del metodo nel seguente modo:
window.backgroundColor = [UIColor redColor];
[window makeKeyAndVisible];
La linea di codice aggiunta consente di accedere al backgroundColor
dell'oggetto window al quale assegniamo il colore rosso (è stato
possibile effettuate l'asssegnazione perchè nel nostro file header
avevamo dichiarato, in maniera appropriata, le property relative
all'oggetto window).
Il colore viene assegnato invocando il metodo di classe redColor della classe UIColor.
Se provate a lanciare l'applicazione, adesso, verrà mostrata la window di colore rosso.
Scorrendo il listato di codice relativo al file di implementazione troviamo come ultimo metodo dealloc. Questo metodo è l'equivalente del distruttore in una classe C++. Analizziamo il codice relativo al metodo dealloc:
[window release];
[super dealloc];
Quando abbiamo parlato delle property abbiamo detto che l'attributo retain incrementava di una unità il contatore relativo ai riferimenti a quell'oggetto. il metodo release
compie l'operazione inversa: decrementa di un'unità questo contatore.
Quando il contatore arriva a zero l'oggetto viene deallocato.
La seconda istruzione ha l'effetto di invocare il metodo dealloc sulla superclasse, ovvero sulla classe che abbiamo ereditato (nel nostro caso NSObject).
andre- Admin
- Messaggi : 1791
Wrong Points : 2514
Reputazione : 7
Data d'iscrizione : 06.12.10
Età : 31
Personaggio GDR
Nome del personaggio: Zeod
Livello: 1
Esperienza:
(6/100)
Argomenti simili
» Guida XCODE principiante La Prima Applicazione iPhone iPad Mac "Hello World"
» Guida XCODE Creare una vista (view) utilizzando il codice
» Guida XCODE utilizzo di View-based application e ViewController
» Guida XCODE introduzione sviluppare applicazioni iPhone iPad Mac
» Guida XCODE Funzione main e gestione della memoria sviluppo applicazioni
» Guida XCODE Creare una vista (view) utilizzando il codice
» Guida XCODE utilizzo di View-based application e ViewController
» Guida XCODE introduzione sviluppare applicazioni iPhone iPad Mac
» Guida XCODE Funzione main e gestione della memoria sviluppo applicazioni
Pagina 1 di 1
Permessi in questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum.
Sab Set 04, 2021 10:40 pm Da rondani2003
» la mia vita
Gio Lug 31, 2014 12:17 pm Da lindaluigiangelo
» Ciao a tutti
Dom Ott 13, 2013 9:30 am Da Primahs
» Ciao a todos
Lun Set 16, 2013 6:39 pm Da Primahs
» ciao ciao a tutti
Lun Set 16, 2013 6:38 pm Da Primahs
» YoEveryone
Ven Set 13, 2013 3:22 pm Da Primahs
» ciao a tutti
Sab Ago 31, 2013 11:44 am Da Primahs
» Ciao a tutti
Sab Ago 31, 2013 11:44 am Da Primahs
» salve a tutti !!
Sab Ago 31, 2013 11:43 am Da Primahs