43
Il programmatore che c'è in noi - Lezione 3 – XCODE Tutorial Oggi, visto che siamo a fine settimana, facciamo qualcosa di rilassante, vediamo come creare un progetto Cocoa con XCODE e creiamo insieme un piccolo programma per visualizzare i LIMITI dei valori che possiamo inserire nei vari tipi di dati che ho descritto nella lezione 2. Ovviamente si presume che Xcode sia stato installato sul proprio Mac. - Individuiamo dove si trova l’applicazione XCODE

Il programmatore che c'è in noi - Lezione 03 XCODE Tutorial · Il programmatore che c'è in noi - Lezione 3 – XCODE Tutorial Oggi, visto che siamo a fine settimana, facciamo qualcosa

  • Upload
    vukien

  • View
    224

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Il programmatore che c'è in noi - Lezione 03 XCODE Tutorial · Il programmatore che c'è in noi - Lezione 3 – XCODE Tutorial Oggi, visto che siamo a fine settimana, facciamo qualcosa

Il programmatore che c'è in noi - Lezione 3 – XCODE Tutorial Oggi, visto che siamo a fine settimana, facciamo qualcosa di rilassante, vediamo come creare un progetto Cocoa con XCODE e creiamo insieme un piccolo programma per visualizzare i LIMITI dei valori che possiamo inserire nei vari tipi di dati che ho descritto nella lezione 2. Ovviamente si presume che Xcode sia stato installato sul proprio Mac.

- Individuiamo dove si trova l’applicazione XCODE

Page 2: Il programmatore che c'è in noi - Lezione 03 XCODE Tutorial · Il programmatore che c'è in noi - Lezione 3 – XCODE Tutorial Oggi, visto che siamo a fine settimana, facciamo qualcosa
Page 3: Il programmatore che c'è in noi - Lezione 03 XCODE Tutorial · Il programmatore che c'è in noi - Lezione 3 – XCODE Tutorial Oggi, visto che siamo a fine settimana, facciamo qualcosa

e la mandiamo in esecuzione, quindi scegliamo File. NewProject

Compare

Page 4: Il programmatore che c'è in noi - Lezione 03 XCODE Tutorial · Il programmatore che c'è in noi - Lezione 3 – XCODE Tutorial Oggi, visto che siamo a fine settimana, facciamo qualcosa

E selezioniamo COCOA APPLICATION

A questo punto diamo il nome alla nostra applicazione, nel mio esempio limiti e scegliamo in quale cartella dovrà risiedere il progetto, quindi premiamo Finish.

Page 5: Il programmatore che c'è in noi - Lezione 03 XCODE Tutorial · Il programmatore che c'è in noi - Lezione 3 – XCODE Tutorial Oggi, visto che siamo a fine settimana, facciamo qualcosa

Ci appare l’ambiente di lavoro di XCODE

Per verificare se tutto è a posto, creiamo la nostra applicazione (la prima ?...)

E se tutto e’ a posto, eccola!!! BCS (… è un mio modo di dire… Bella Come il Sole… J )

Page 6: Il programmatore che c'è in noi - Lezione 03 XCODE Tutorial · Il programmatore che c'è in noi - Lezione 3 – XCODE Tutorial Oggi, visto che siamo a fine settimana, facciamo qualcosa

Ovviamente non fa assolutamente nulla, pero’ ho gia una finestra e un menu. Andare a vedere dove è stato creato il progetto, e vedrete tutti i files che Xcode ha generato per il progetto. Quelli con estensione .m e .h sono il codice sorgente in ObjectiveC, mentre quelli .nib sono i files di risorsa (=di interfaccia) usati da interface builder per progettare l’interfaccia utente (le finestre, i bottono ecc.) Comunque rimando alla documentazione della Apple per maggior dettaglio, o eventualmente, postate un commento specifico su Tevac.

Page 7: Il programmatore che c'è in noi - Lezione 03 XCODE Tutorial · Il programmatore che c'è in noi - Lezione 3 – XCODE Tutorial Oggi, visto che siamo a fine settimana, facciamo qualcosa

Visto che abbiamo accennato a Interface Builder ed alla interfaccia utente, ritorniamo in XCODE e con un doppio clic sul elemento MainMenu.nib attiviamo Interface Builder (IB) per andare a modificare la nostra finestra e iniziare a personalizzare la nostra applicazione.

Page 8: Il programmatore che c'è in noi - Lezione 03 XCODE Tutorial · Il programmatore che c'è in noi - Lezione 3 – XCODE Tutorial Oggi, visto che siamo a fine settimana, facciamo qualcosa

Una volta lanciato Interface Builder, vi consiglio di attivare subito la visualizzazione dell’Ispettore degli oggetti tramite questo menu

e di disporre le varie finestre nel modo piu’ comodo per lavorarci

Ciccando sulla finestra (Window) vedremo cambiare le informazioni dell’Ispettore di oggetto, accertandosi che sia attivo per la nostra finestra (nella finestra dell’ispettore deve comparire il titolo NSWindow Inspector ) Andiamo a cambiare il nome della finestra dal generico Window in Limiti

Page 9: Il programmatore che c'è in noi - Lezione 03 XCODE Tutorial · Il programmatore che c'è in noi - Lezione 3 – XCODE Tutorial Oggi, visto che siamo a fine settimana, facciamo qualcosa

Dopo l’invio il nome della finestra viene aggiornato

Per fare un po’ di pratica, diciamo che ha l’aspetto “metallico”

ed otteniamo

Page 10: Il programmatore che c'è in noi - Lezione 03 XCODE Tutorial · Il programmatore che c'è in noi - Lezione 3 – XCODE Tutorial Oggi, visto che siamo a fine settimana, facciamo qualcosa
Page 11: Il programmatore che c'è in noi - Lezione 03 XCODE Tutorial · Il programmatore che c'è in noi - Lezione 3 – XCODE Tutorial Oggi, visto che siamo a fine settimana, facciamo qualcosa

Dall’ispettore, è possibile modificare tutta una serie di impostazioni ciccando nella COMBOBOX, tra cui ad esempio la dimensione della finestra usando la voce Size della combobox.

L’ispettore ora si presenta con i seguenti dati

Page 12: Il programmatore che c'è in noi - Lezione 03 XCODE Tutorial · Il programmatore che c'è in noi - Lezione 3 – XCODE Tutorial Oggi, visto che siamo a fine settimana, facciamo qualcosa

Provare a modificare i valori di w (larghezza) e h (altezza) e vedrete la finestra cambiare dimensione. Bene, posizioniamo ora degli oggetti di testo (etichette o label), in quanto Vogliamo far comparire nella nostra finestra delle indicazioni che scriviamo noi Oltre alla nostra finestra “metallizzata”, alla finestra dell’ispettore, abbiamo altre due finestre, una TOOL BAR e una che rappresenta il nostro oggetto MainMenu.nib Nella Tool bar, selezioniamo Cocoa-Text

e successivamente cliccliamo su una Label/Etichetta che vogliamo inserire nella nostra finestra “metallizzata” (esempio Small System Font Text)

Page 13: Il programmatore che c'è in noi - Lezione 03 XCODE Tutorial · Il programmatore che c'è in noi - Lezione 3 – XCODE Tutorial Oggi, visto che siamo a fine settimana, facciamo qualcosa

e mantenendo premuto il tasto sinistro del mouse, trasciniamo la scritta sulla finestra metallizzata, quindi rilasciamo il tasto del mouse.

Page 14: Il programmatore che c'è in noi - Lezione 03 XCODE Tutorial · Il programmatore che c'è in noi - Lezione 3 – XCODE Tutorial Oggi, visto che siamo a fine settimana, facciamo qualcosa

Una volta “lasciato cadere” l’oggetto testo, possiamo ciccarci sopra e spostarlo nella posizione a noi piu’ congeniale.

Page 15: Il programmatore che c'è in noi - Lezione 03 XCODE Tutorial · Il programmatore che c'è in noi - Lezione 3 – XCODE Tutorial Oggi, visto che siamo a fine settimana, facciamo qualcosa

Mentre spostare l’oggetto selezionato, vedrete apparire delle linee guida che vi aiutano a disporre gradevolmente l’oggetto e rispettando le linee guida Apple relativamente a Acqua.

Per modificare invece il contenuto del testo, doppio clic e si scrive dentro (oppure si usa l’ispettore…)

Nel nostro esempio, cambiamo la dicitura in char max, in quanto l’idea per il nostro programma è quella di far scrivere accanto al tipo di dato il suo range di valori minimi e massimi (i sui limiti).

Dato che abbiamo diversi elementi da posizionare, conviene usare il “copia” e “incolla”, Mela-C e Mela-V, quindi riposiziono gli oggetti.

Page 16: Il programmatore che c'è in noi - Lezione 03 XCODE Tutorial · Il programmatore che c'è in noi - Lezione 3 – XCODE Tutorial Oggi, visto che siamo a fine settimana, facciamo qualcosa

e cosi via sino a completare la finestra con tutte le informazioni che intendo gestire.

Page 17: Il programmatore che c'è in noi - Lezione 03 XCODE Tutorial · Il programmatore che c'è in noi - Lezione 3 – XCODE Tutorial Oggi, visto che siamo a fine settimana, facciamo qualcosa

Ecco come si presenta la finestra al termine.

A questo punto passo a posizionare un altro tipo di oggetto, un campo di input. Sempre dalla tool bar, cocoa-text, trascino l’elemento che mi interessa nella finestra metallizzata

E lo lascio cadere…

Page 18: Il programmatore che c'è in noi - Lezione 03 XCODE Tutorial · Il programmatore che c'è in noi - Lezione 3 – XCODE Tutorial Oggi, visto che siamo a fine settimana, facciamo qualcosa

Come al solito, provvedo a posizionarlo ed eventualmente a ridimensionarlo.

Quindi uso il solito Copia/Incolla per velocizzare le operazioni di creazione di oggetti analoghi.

Sino ad ottenere l’effetto desiderato

Page 19: Il programmatore che c'è in noi - Lezione 03 XCODE Tutorial · Il programmatore che c'è in noi - Lezione 3 – XCODE Tutorial Oggi, visto che siamo a fine settimana, facciamo qualcosa

A questo punto, voglio che le dimensioni della finestra siano fisse, quindi non ridimensionabile dall’utente, allora da Ispettore imposto Min w/h e Max w/h al valore della dimensione corrente della finestra.

Giunti a questo punto dobbiamo creare un nostro OGGETTO, che ci consentirà di controllare la nostra finestra (o meglio i campi della nostra finestra) durante l’esecuzione del programma. Infatti, quando il programma sarà mandato in esecuzione, vorremmo far comparire a fianco della scritta char max il valore (es. 127) massimo che posso memorizzare in un dato di tipo char ecc. Per creare questo nostro oggetto “controllore” che chiameremo appunto ilControllore, dobbiamo usare la finestra MainMenu.nib.

Page 20: Il programmatore che c'è in noi - Lezione 03 XCODE Tutorial · Il programmatore che c'è in noi - Lezione 3 – XCODE Tutorial Oggi, visto che siamo a fine settimana, facciamo qualcosa

Da tale finestra clicco sul tab CLASSES, e mi posiziono sull’oggetto NSObject.

Una volta evidenziato NSObject clic con il destro (=CTRL+CLIC se ho il mouse con solo tasto…credo…) E dal menu che compare scelgo Subclass NSObject

Page 21: Il programmatore che c'è in noi - Lezione 03 XCODE Tutorial · Il programmatore che c'è in noi - Lezione 3 – XCODE Tutorial Oggi, visto che siamo a fine settimana, facciamo qualcosa

Viene creata una nuova voce, MyObject, che io provvedo a rinominare con il nome ilControllore come avevo anticipato.

Do invio

e selezionando il mio oggetto “ilControllore”, clic di destro (per far apparire il menu contestuale)

Page 22: Il programmatore che c'è in noi - Lezione 03 XCODE Tutorial · Il programmatore che c'è in noi - Lezione 3 – XCODE Tutorial Oggi, visto che siamo a fine settimana, facciamo qualcosa

E questa volta scelgo, Instantiate ilControllore, ossia chiedo a Interface Builder di creare il mio oggetto in modo che io possa lavorarci sopra.

Ed eccomi accontentato. Ora ho nel MainMenu.nib anche un oggetto che si chiama ilControllore che è il mio oggetto appena creato. Ovviamente tale oggetto è al momento un contenitore Vuoto. Lo seleziono, ciccandoci sopra

e guardo cosa succede nella finestra dell’Ispettore.

Page 23: Il programmatore che c'è in noi - Lezione 03 XCODE Tutorial · Il programmatore che c'è in noi - Lezione 3 – XCODE Tutorial Oggi, visto che siamo a fine settimana, facciamo qualcosa
Page 24: Il programmatore che c'è in noi - Lezione 03 XCODE Tutorial · Il programmatore che c'è in noi - Lezione 3 – XCODE Tutorial Oggi, visto che siamo a fine settimana, facciamo qualcosa

Vedete che ClassName = ilControllore (il nome del mio oggetto) e che è un contenitore vuoto (0 Outlets e 0 Actions). Cosa deve fare il mio oggetto controllore ? Deve gestire il passaggio delle informazioni tra il mio programma sorgente e gli oggetti grafici (il testo, il campo di input, un pulsante ecc.) che io ho collocato sulla mia finestra. Nel nostro esempio, io voglio poter controllare da programma il campo Field Text che ho inserito a fianco dell’etichetta di testo “char max” e “char min”. Ovviamente questo andrebbe fatto per tutti i campi Text Field che abbiamo Posizionato nella nostra finestra metallizzata, ma io, in questo esempio lo faccio solo per i primi due… a voi fare poi gli altri… Per far conoscere al mio oggetto controllore l’oggetto Text Field (=rettangolo bianco) a fianco del testo char max, devo ciccare sul Tab Outlets nella finestra ispettore, relativamente all’oggetto “ilControllore” come visibile

Quindi premo ADD per aggiungere un Outlet che mi consentirà di accedere all’oggetto Text Field.

Page 25: Il programmatore che c'è in noi - Lezione 03 XCODE Tutorial · Il programmatore che c'è in noi - Lezione 3 – XCODE Tutorial Oggi, visto che siamo a fine settimana, facciamo qualcosa

Viene creato un nuovo elemento myOutlet

Page 26: Il programmatore che c'è in noi - Lezione 03 XCODE Tutorial · Il programmatore che c'è in noi - Lezione 3 – XCODE Tutorial Oggi, visto che siamo a fine settimana, facciamo qualcosa

che ovviamente provvedo a chiamare in un modo piu’ idone

dato che voglio tramite questo outlet gestire questo campo (char max) come anticipato prima, il campo che abbiamo trascinato in precedenza nella nostra finestra metallizzata (quello rettangolare bianco) è un oggetto Cocoa che si chiama NSTextField, puo’ essere usato sia come campo di input dati sia come campo di output. Ma impareremo a conoscerlo meglio nelle prossime puntate.

Page 27: Il programmatore che c'è in noi - Lezione 03 XCODE Tutorial · Il programmatore che c'è in noi - Lezione 3 – XCODE Tutorial Oggi, visto che siamo a fine settimana, facciamo qualcosa

Nella colonna a fianco Outlet Name, c’e’ la colonna Type, che identifica di che tipo è l’oggetti A CUI SI RIFERISCE (o meglio si referirà… perche’ dovremo poi effettivamente collegarlo all’oggetto che abbiamo messo sulla finestra metallizzata). Nel nostro casco, scegliamo NSTextField dall’elenco che appare.

In modo da ottenere

Page 28: Il programmatore che c'è in noi - Lezione 03 XCODE Tutorial · Il programmatore che c'è in noi - Lezione 3 – XCODE Tutorial Oggi, visto che siamo a fine settimana, facciamo qualcosa

Dato che in questo tutorial voglio gestire solo i primi due (char max e char min) rifaccio nuovamente l’operazione. (tale operazione deve essere fatta per CIASCUN oggetto che ho messo sulla finestra del quale voglio avere il controllo tramite il codice sorgente del programma).

Page 29: Il programmatore che c'è in noi - Lezione 03 XCODE Tutorial · Il programmatore che c'è in noi - Lezione 3 – XCODE Tutorial Oggi, visto che siamo a fine settimana, facciamo qualcosa
Page 30: Il programmatore che c'è in noi - Lezione 03 XCODE Tutorial · Il programmatore che c'è in noi - Lezione 3 – XCODE Tutorial Oggi, visto che siamo a fine settimana, facciamo qualcosa

Bene, finita questa fase, ritorno sulla finestra MainMenu.nib

Page 31: Il programmatore che c'è in noi - Lezione 03 XCODE Tutorial · Il programmatore che c'è in noi - Lezione 3 – XCODE Tutorial Oggi, visto che siamo a fine settimana, facciamo qualcosa

seleziono Instances in modo da portarmi nella seguente modalità

Ora, sulla sinistra del nostro oggetto ilControllore, è comparso un punto esclamativo: esso indica che abbiamo degli outlets o delle actions da collegare. Quindi, colleghiamoli… L’operazione che stiamo per fare (tramite drag & drop) “collega” le outlets che abbiamo appena creato con i

Page 32: Il programmatore che c'è in noi - Lezione 03 XCODE Tutorial · Il programmatore che c'è in noi - Lezione 3 – XCODE Tutorial Oggi, visto che siamo a fine settimana, facciamo qualcosa

rispettivi oggetti Cocoa che avevamo piazzato sulla finestra metallizzata.

Per fare un COLLEGAMENTO di una OUTLET Clic sull’oggetto presente in MainMenu.nib (ilControllore), premo il tasto CTRL e faccio CLIC, trascino il puntatore del mouse sopra l’oggetto che mi interessa collegare e lascio andare il tasto CTRL e il tasto del mouse L’ispettore si posiziona in questa modalità

Page 33: Il programmatore che c'è in noi - Lezione 03 XCODE Tutorial · Il programmatore che c'è in noi - Lezione 3 – XCODE Tutorial Oggi, visto che siamo a fine settimana, facciamo qualcosa

A questo punto faccio un clic sul OUTLET che voglio collegare all’oggetto che ho precedentemente selezionato e premo CONNECT.

Quando è collegato, compare un pallino sulla sinistra, e nella colonna Destination compare l’oggetto NSTextField. Rifaccio l’operazione di collegamento anche per il secondo campo a fianco del testo char min (che sara’ collegato all’outlet limiteCharMin)

Page 34: Il programmatore che c'è in noi - Lezione 03 XCODE Tutorial · Il programmatore che c'è in noi - Lezione 3 – XCODE Tutorial Oggi, visto che siamo a fine settimana, facciamo qualcosa

Se diamo uno sguardo al nostro oggetto ilControllore nella videata MainMenu.nib ora non ha piu’ il punto esclamativo.

Siamo quasi al dunque,… abbiate fede… Ora non ci rimane che chiedere a Interface Builder di creare per noi i files di sorgenti relativi al nostro oggetto ilControllore che abbiamo creato. Perche’ questo ? Semplice, noi vogliamo scrivere dei valori nei due NSTextField che abbiamo posizionato nella finestra metallizata e tali valori devono essere scritti dal nostro programma, quindi abbiamo bisogno dei files di programma (.m e .h) che rappresentano l’oggetto ilControllore. Tali files devono essere inclusi nel nostro progetto di xcode. Per far creare a Interface Builder i files necessari, selezioniamo CLASSES dalla finestra MainMenu.nib

Page 35: Il programmatore che c'è in noi - Lezione 03 XCODE Tutorial · Il programmatore che c'è in noi - Lezione 3 – XCODE Tutorial Oggi, visto che siamo a fine settimana, facciamo qualcosa

Quindi selezioniamo il nostro oggetto ilControllore e facciamo comparire il menu contestuale (clic tasto destro del mouse)

Page 36: Il programmatore che c'è in noi - Lezione 03 XCODE Tutorial · Il programmatore che c'è in noi - Lezione 3 – XCODE Tutorial Oggi, visto che siamo a fine settimana, facciamo qualcosa

Questa volta scegliamo CREATE FILES FOR ilControllore e compare

vedete che ha gia’ assegnato i nomi ai files .m e .h cre saranno creati e che saranno automaticamente aggiunti al progetto “limiti”. Non dobbiamo far altro che premere CHOOSE.

Bene, è giunto il momento di abbandonare Interface Builder, salviamo tutto e chiudiamo.

Page 37: Il programmatore che c'è in noi - Lezione 03 XCODE Tutorial · Il programmatore che c'è in noi - Lezione 3 – XCODE Tutorial Oggi, visto che siamo a fine settimana, facciamo qualcosa

Ritorno si XCODE e mi ritrovo i files che sono stati aggiunti da Interface Builder

Page 38: Il programmatore che c'è in noi - Lezione 03 XCODE Tutorial · Il programmatore che c'è in noi - Lezione 3 – XCODE Tutorial Oggi, visto che siamo a fine settimana, facciamo qualcosa

Bene, vediamo cosa c’e’ scritto dentro i files ilControllore.h e ilControllore.m, che sono parte dei sorgenti del nostro programma. Per vederne il contenuto, ciccate sul pulsante Editor nella barra strumenti

in modo da avere la seguente modalità di visualizzazione

Page 39: Il programmatore che c'è in noi - Lezione 03 XCODE Tutorial · Il programmatore che c'è in noi - Lezione 3 – XCODE Tutorial Oggi, visto che siamo a fine settimana, facciamo qualcosa

Quello che vediamo è stato scritto in automatico (seguendo le nostre indicazioni…) relativamente all’oggetto ilControllore. Sono facilmente riconoscibili i due outlet che abbiamo in precedenza creato.

Il file ilControllore.m, invece non ha nessuna indicazione particolare. Per concludere il mio tutorial, volevo scrivere il valore max e minimo consentito per un tipo di dato char. Per fare questo, devo intercettare un particolare evento di Cocoa, che si chiama awakeFromNib.

Page 40: Il programmatore che c'è in noi - Lezione 03 XCODE Tutorial · Il programmatore che c'è in noi - Lezione 3 – XCODE Tutorial Oggi, visto che siamo a fine settimana, facciamo qualcosa

In pratica, quando lancio il programma, il programma in automatico carichera’ in memoria il file NIB indicato e creera’ tutti gli oggetti presenti nel file NIB stesso (tra cui il nostro ilControllore). Quando questo avviene, l’applicazione avvisa tutti gli oggetti inviando loro un messaggio di tipo awakeFromNib appunto. (=risvegliato dal NIB) In questo modo, nel mio programma, io posso effettuare delle azioni non appena l’oggetto viene creato, nel caso specifico l’azione che io voglio fare è quella di scrivere un valore dentro l’oggetto NSTextField collegato all’outlet limiteCharMax. Per fare cio’ devo aggiunger il metodo awakeFromNib nel codice sorgente del mio oggetto ilControllore.c e quindi all’interno di tale metodo, ricavare il valore max e min consentiti per un char. Per ricavare tale valore, non faccio altro che usare i valori costanti definiti dal file limits.h (che potete cercare sul vostro Mac.) Questo è un pezzo di tale file #include <ppc/_limits.h> #define CHAR_BIT 8 /* number of bits in a char */ #define MB_LEN_MAX 6 /* Allow 31 bit UTF2 */ #ifndef CLK_TCK #define CLK_TCK __DARWIN_CLK_TCK /* ticks per second */ #endif /* * According to ANSI (section 2.2.4.2), the values below must be usable by * #if preprocessing directives. Additionally, the expression must have the * same type as would an expression that is an object of the corresponding * type converted according to the integral promotions. The subtraction for * INT_MIN and LONG_MIN is so the value is not unsigned; 2147483648 is an * unsigned int for 32-bit two's complement ANSI compilers (section 3.1.3.2). * These numbers work for pcc as well. The UINT_MAX and ULONG_MAX values * are written as hex so that GCC will be quiet about large integer constants. */ #define SCHAR_MAX 127 /* min value for a signed char */ #define SCHAR_MIN (-128) /* max value for a signed char */ #define UCHAR_MAX 255 /* max value for an unsigned char */ #define CHAR_MAX 127 /* max value for a char */

Page 41: Il programmatore che c'è in noi - Lezione 03 XCODE Tutorial · Il programmatore che c'è in noi - Lezione 3 – XCODE Tutorial Oggi, visto che siamo a fine settimana, facciamo qualcosa

#define CHAR_MIN (-128) /* min value for a char */ #define USHRT_MAX 65535 /* max value for an unsigned short */ #define SHRT_MAX 32767 /* max value for a short */ #define SHRT_MIN (-32768) /* min value for a short */ …. Quindi il valore massimo di un char è indicato dalla COSTANTE CHAR_MAX che vale 127 come visibile dal file. Dato che il valore è numerico, ed il campo che io ho messo nella finestra metallizzata è un NSTextField (campo di testo) lo devo convertire in testo. Per fare tale operazione, uso un oggetto Cocoa che rappresenta una stringa di caratteri NSString ed uso un suo metodo per convertire numeri in testo stringWithFormat Vedremo comunque meglio ed in dettaglio queste cose, in una prossima lezione. In pratica il codice che vado ad inserire dentro ilControllore.m Tra @implementation e @end è

Quindi effettuo le operazioni di conversione dati numerici in stringa

e dico alla mia outlet (che rappresenta il campo NSTextField char max) di che ora contiene una stringa che è il dato che interessa.

Page 42: Il programmatore che c'è in noi - Lezione 03 XCODE Tutorial · Il programmatore che c'è in noi - Lezione 3 – XCODE Tutorial Oggi, visto che siamo a fine settimana, facciamo qualcosa

Ecco come si presenta il codice completo di ilControllore.m #import "ilControllore.h" @implementation ilControllore -(void) awakeFromNib{ NSString *unaStringa; unaStringa=[NSString stringWithFormat:@"%d", CHAR_MAX]; [limiteCharMax setStringValue:unaStringa]; unaStringa=[NSString stringWithFormat:@"%d", CHAR_MIN]; [limiteCharMin setStringValue:unaStringa]; } @end Ed ecco il risultato finale dell’applicazione e del tutorial.

Esercitatevi a fare tutti i passagi che ho descritto in modo da acquisire la necessaria manualità ed a familiarizzare con l’ambiente XCODE e Interface Builder. Per i piu’ intraprendenti: provare a completare l’applicazione facendo calcolare anche gli altri valori e rendendo i campi solo di OUTPUT.

Page 43: Il programmatore che c'è in noi - Lezione 03 XCODE Tutorial · Il programmatore che c'è in noi - Lezione 3 – XCODE Tutorial Oggi, visto che siamo a fine settimana, facciamo qualcosa

Se volete potete anche inviarmi il vostro lavoro al termine, al mio indirizzo email. Francesco Germinara [email protected] www.germinara.it