Wrong Forum Blog
Connettiti o Registrati a Wrong

Unisciti al forum, è facile e veloce

Wrong Forum Blog
Connettiti o Registrati a Wrong
Wrong Forum Blog
Vuoi reagire a questo messaggio? Crea un account in pochi click o accedi per continuare.

Guida XCODE Applicazione window-based: analisi del codice

Andare in basso

Guida XCODE Applicazione window-based: analisi del codice Empty Guida XCODE Applicazione window-based: analisi del codice

Messaggio Da andre Sab Ago 13, 2011 1:28 pm

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).
andre
andre
Admin
Admin

Maschio Messaggi : 1791
Wrong Points : 2514
Reputazione : 7
Data d'iscrizione : 06.12.10
Età : 30

Personaggio GDR
Nome del personaggio: Zeod
Livello: 1
Esperienza:
Guida XCODE Applicazione window-based: analisi del codice Left_bar_bleue6/100Guida XCODE Applicazione window-based: analisi del codice Empty_bar_bleue  (6/100)

https://wrong.forumattivo.it

Torna in alto Andare in basso

Torna in alto

- Argomenti simili

 
Permessi in questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum.