Hello, World in Xcode - noblogs.org World in Xcode.pdf · Ringraziamenti!_____20 XcodeItalia free -...

20
2009 GUIDA NUMERO 1 GRATIS Questo documento è stato realizzato dai ragazzi di XcodeItalia free: http:// www.xcodeitalia.org solo a scopo di puro diletto. NOTE SUL PORTALE Il portale, gratuito e senza scopi di lucro, è aperto a tutti: per questo motivo se ti diletti a scrivere guide puoi collaborare con noi entrando nel nostro gruppo . forum: http://forum.xcodeitalia.org App: http://myapps.xcodeitalia.org wiki: http://wiki.xcodeitalia.org Copyright Il documento è realizzato da XcodeItalia free ( http:// www.xcodeitalia.org ) e NON E' MODIFICABILE. I trasgressori saranno puniti a norma di legge. Per qualsiasi ulteriore modifica di testo, aggiunta di testo, rimozione di testo, duplicazione, atto di diffusione, ecc. E' NECESSARIA LA RISPETTIVA AUTORIZZAZIONE CONCESSA DALL'AUTORE DELL'OPERA STESSA. Si ringrazia (in ordine alfabetico): 369 Bonny92 Geppy Parziale revolt_nobody sper jockerfox mercoledì 25 novembre 2009 Versione 0.2 “Hello, world” in Xcode COMMUNITY ITALIANA PROGRAMMATORI APPLE HOMEPAGE MYAPPS FORUM “HELLO, WORLD” IN XCODE

Transcript of Hello, World in Xcode - noblogs.org World in Xcode.pdf · Ringraziamenti!_____20 XcodeItalia free -...

Page 1: Hello, World in Xcode - noblogs.org World in Xcode.pdf · Ringraziamenti!_____20 XcodeItalia free - “Hello, World” in Xcode E’ vietata la modifica senza autorizzazione 3

XcodeItalia free - Xcode Workflow Tutorial.pages2009 G U I D A N U M E R O 1 GRATIS

Questo documento è stato realizzato dai ragazzi di XcodeItalia free: http://www.xcodeitalia.org solo a scopo di

puro diletto.

NOTE SUL PORTALE

Il portale, gratuito e senza scopi di

lucro, è aperto a tutti: per questo motivo se ti diletti a scrivere guide puoi collaborare con noi entrando nel nostro

gruppo.

forum: http://forum.xcodeitalia.orgApp: http://myapps.xcodeitalia.org

wiki: http://wiki.xcodeitalia.org

Copyright

I l documento è re a l i z z a to da

X c o d e I t a l i a f r e e ( h t t p : / /www.xcodeitalia.org) e NON E' MODIFICABILE.

I trasgressori saranno puniti a norma di legge.

Per qualsiasi ulteriore modifica di testo,

aggiunta di testo, rimozione di testo, duplicazione, atto di diffusione, ecc. E' N E C E S S A R I A L A R I S P E T T I VA

AUTORIZZAZIONE CONCESSA DALL'AUTORE DELL'OPERA STESSA.

Si ringrazia (in ordine alfabetico):

369

Bonny92

Geppy Parziale

revolt_nobody

sper

jockerfox

mercoledì 25 novembre 2009

Versione 0.2

“Hello, world” in Xcode

COMMUNITY ITALIANA PROGRAMMATORI APPLE

HOMEPAGE MYAPPS FORUM

“HELLO, WORLD” IN XCODE

Page 2: Hello, World in Xcode - noblogs.org World in Xcode.pdf · Ringraziamenti!_____20 XcodeItalia free - “Hello, World” in Xcode E’ vietata la modifica senza autorizzazione 3

IndicePremessa! 4

Prerequisiti! 4

________________________________________PARTE I! 5La finestra di Xcode! 5

La Toolbar! 6

..........................................................................................................................Page! 6

...................................................................................................................Overview! 6

........................................................................................................................Action! 6

..............................................................................................................Breakpoints! 6

...........................................................................................................Build and Run! 7

.........................................................................................................................Tasks! 7

.............................................................................................................................Info! 7

.......................................................................................................................Search! 7

Groups & Files ! 8

Editor View! 8

La Finestra di Documentazione! 9

______________________________________PARTE II! 10Panoramica: l'applicazione Hello, World! 10

Creare un progetto Xcode! 10

Creiamo una classe di tipo NSView! 12

Usare InterfaceBuilder! 13

Implementiamo il codice ! 18

Compilare ed eseguire l'applicazione ! 19

XcodeItalia free - “Hello, World” in Xcode

2 http://www.xcodeitalia.org

Page 3: Hello, World in Xcode - noblogs.org World in Xcode.pdf · Ringraziamenti!_____20 XcodeItalia free - “Hello, World” in Xcode E’ vietata la modifica senza autorizzazione 3

_________________________________Ringraziamenti! 20XcodeItalia free - “Hello, World” in Xcode

E’ vietata la modifica senza autorizzazione 3

Page 4: Hello, World in Xcode - noblogs.org World in Xcode.pdf · Ringraziamenti!_____20 XcodeItalia free - “Hello, World” in Xcode E’ vietata la modifica senza autorizzazione 3

PremessaQuesto documento è stato realizzato dai ragazzi di XcodeItalia free (http://www.xcodeitalia.org) solo a scopo di puro diletto.

Ma come è nato ”Hello, World” in Xcode ? Semplicemente parlando nel nostro forum... ci è venuta l'idea di scegliere un documento di Apple e crearne uno tutto nostro: così abbiamo preso il seguente documento originale:http://developer.apple.com/Mac/library/documentation/DeveloperTools/Conceptual/A_Tour_of_Xcode/000-Introduction/qt_intro.html#//apple_ref/doc/uid/TP30000890-CH204-TPXREF101 e lo abbiamo letto, tradotto in Italiano, ed infine riscritto a modo nostro.

Sperando che questo documento possa essere di aiuto ad i nuovi arrivati, XcodeItalia free vi augura buona lettura.

PrerequisitiSi da per scontato che abbiate un minino di nozioni di Objective-C.In caso aveste bisogno di studiare questo linguaggio, vi è un libro in ITALIANO scritto dall'amministratore di xcodeitalia.org.

Potrete trovare informazioni in http://jf.xcodeitalia.org.

XcodeItalia free - “Hello, World” in Xcode

4 http://www.xcodeitalia.org

Page 5: Hello, World in Xcode - noblogs.org World in Xcode.pdf · Ringraziamenti!_____20 XcodeItalia free - “Hello, World” in Xcode E’ vietata la modifica senza autorizzazione 3

PARTE I

La finestra di XcodePrima di creare la nostra applicazione è opportuno capire, anche se superficialmente, come è strutturato Xcode.

La finestra è suddivisa in 5 sezioni principali:

ToolbarGroups & Files listDetail ViewEditorStatus Bar

XcodeItalia free - “Hello, World” in Xcode

E’ vietata la modifica senza autorizzazione 5

Page 6: Hello, World in Xcode - noblogs.org World in Xcode.pdf · Ringraziamenti!_____20 XcodeItalia free - “Hello, World” in Xcode E’ vietata la modifica senza autorizzazione 3

La Toolbar

La Toolbar è molto utile per muoverci velocemente attraverso i comandi di Xcode. Come per qualsiasi applicazione, anche Xcode permette di modificare a nostro piacimento la toolbar: basta cliccare con in tasto destro del mouse sopra la toolbar e selezionare Customize Toolbar... .

Spieghiamo brevemente le funzioni della Toolbar (di default):

PagePermette di cambiare l'ambiente tra Progetto e Debug.

OverviewPermette di cambiare velocemente tra SDK, configurazione, target, eseguibile e architettura.

ActionVisualizza le operazioni che si possono effettuare sull'elemento selezionato (praticamente equivale a cliccare con il tasto destro del mouse sull'elemento).

BreakpointsAttiva tutti i breakpoints che abbiamo inserito nel listato. Automaticamente l'icona Build and Run cambia in Build and Debug.

XcodeItalia free - “Hello, World” in Xcode

6 http://www.xcodeitalia.org

Page 7: Hello, World in Xcode - noblogs.org World in Xcode.pdf · Ringraziamenti!_____20 XcodeItalia free - “Hello, World” in Xcode E’ vietata la modifica senza autorizzazione 3

Build and RunCompila ed esegue l'applicazione.

TasksFerma il task in esecuzione.

InfoApre un pannello il quale ci permette di leggere le informazioni riguardanti l'elemento selezionato. Se selezioniamo il nome del progetto (in Groups & Files) possiamo modificare anche i parametri di compilazione.

SearchPermette di filtrare in Detail View i files. Ad esempio se scriviamo List verranno mostrati tutti i files che contengono questa stringa.Inoltre possiamo anche modificare il tipo di ricerca se clicchiamo sulla lente:

XcodeItalia free - “Hello, World” in Xcode

E’ vietata la modifica senza autorizzazione 7

Page 8: Hello, World in Xcode - noblogs.org World in Xcode.pdf · Ringraziamenti!_____20 XcodeItalia free - “Hello, World” in Xcode E’ vietata la modifica senza autorizzazione 3

Groups & FilesQuesto metodo di visualizzazione permette una più efficace suddivisione del progetto e non rispecchia la vera struttura del progetto che abbiamo nel nostro Hard Disk: questo perché Xcode si interpone tra noi e la vera struttura del progetto per facilitarci la programmazione. Per questo motivo Xcode ci permette anche di modificare a nostro piacimento la visualizzazione di Groups & Files.

Quando selezioniamo un elemento in questa sezione, viene mostrato il corrispondente nella Detail View. Ad esempio se l'elemento selezionato è un file sorgente, in Detail View vedremo il suo codice. Se ad esempio clicchiamo su Executables verrà mostrato il file eseguibile o i files eseguibili.

Editor ViewQuest'area è multifunzionale: visualizza le informazioni dei files selezionati ed il codice sorgente del file selezionato. Nonostante questo editor sia molto potente ci limiteremo a descrivere le proprietà principali.

(1) Questa colonna può essere utilizzata per inserire i breakpoints, ma è utile anche per poter visualizzare i numeri di riga previo attivazione nelle preferenze. Infine Xcode utilizza questa colonna per visualizzare i possibili warning o error nella rispettiva linea di codice

(2) Questa colonna permette di nascondere parti di codice, o meglio parti di blocco (si ricorda che un blocco inizia con la parentesi graffa e finisce con la parentesi graffa)

(3) Questo è l'editor per scrivere il codice. Quando scriviamo il codice al suo interno possiamo beneficiare del completamento automatico del codice che suggerisce la parola mentre scriviamo. Premendo il tasto TAB accettiamo la parola suggerita,

XcodeItalia free - “Hello, World” in Xcode

8 http://www.xcodeitalia.org

Page 9: Hello, World in Xcode - noblogs.org World in Xcode.pdf · Ringraziamenti!_____20 XcodeItalia free - “Hello, World” in Xcode E’ vietata la modifica senza autorizzazione 3

mentre premendo ESC vengono mostrati i suggerimenti. In caso parametri, come per esempio metodi con argomenti, saranno visualizzati e, premendo il tasto TAB, possiamo passare al successivo parametro

(4) Le frecce permettono di passare da una posizione all'altra. Ogni qualvolta ci muoviamo in Xcode vi è una cronologia e con queste frecce ci muoviamo al suo interno (come paragone pensiamo alle frecce di un browser)

(5) Ogni files aperto viene memorizzato, perciò questo menù ci permette di navigare nella cronologia dei files aperti

(6) Permette di saltare tra i simboli (funzione, metodo, ...) del codice sorgente(7) Permette di saltare tra i segnalibri(8) Permette di saltare tra i Beakpoints(9) Permette di saltare tra le Classi(10) Permette di saltare ad i files inclusi (esempio #import <Cocoa/Cocoa.h>)(11) Permette di passare tra il file implementazione (.m) ed il corrispondente file di

interfaccia (.h) e viceversa(12) Permette di bloccare il file (cioè non permette di modificare il file)

La Finestra di DocumentazioneXcode ha integrato una Guida che permette di aiutare il programmatore nella ricerca della API, note, ecc...Per aprire la documentazione basta selezionare dal menù a tendina Help > Developer Documentation (shortcut: ⎇⌘?)

XcodeItalia free - “Hello, World” in Xcode

E’ vietata la modifica senza autorizzazione 9

Page 10: Hello, World in Xcode - noblogs.org World in Xcode.pdf · Ringraziamenti!_____20 XcodeItalia free - “Hello, World” in Xcode E’ vietata la modifica senza autorizzazione 3

PARTE IIAdesso che abbiamo fatto un breve tour su Xcode, possiamo passare alla nostra applicazione.

Panoramica: l'applicazione Hello, WorldLa applicazione che andremo a scrivere consiste in una finestra che mostra a video "Hello, World!". Niente di particolare, ma basta per sciogliere il ghiaccio con Xcode.

Creare un progetto XcodeApriamo Xcode e dal menù selezioniamo File > New Project... (shortcut: ⇧⌘N). Si aprirà la seguente finestra:

XcodeItalia free - “Hello, World” in Xcode

10 http://www.xcodeitalia.org

Page 11: Hello, World in Xcode - noblogs.org World in Xcode.pdf · Ringraziamenti!_____20 XcodeItalia free - “Hello, World” in Xcode E’ vietata la modifica senza autorizzazione 3

Selezioniamo Application (colonna di sinistra) poi Cocoa Application. Lasciamo deselezionate le due opzioni e clicchiamo su Choose... .

Si aprirà la seguente finestra:

XcodeItalia free - “Hello, World” in Xcode

E’ vietata la modifica senza autorizzazione 11

Page 12: Hello, World in Xcode - noblogs.org World in Xcode.pdf · Ringraziamenti!_____20 XcodeItalia free - “Hello, World” in Xcode E’ vietata la modifica senza autorizzazione 3

Scegliamo il nome della nostra applicazione (esempio Hello) e la directory dove salvare il nostro progetto. Clicchiamo su Save.

Xcode crea tutto il necessario per la nostra applicazione, tra cui il file main.m. La funzione main() è essenziale perché il programma inizia con questa funzione e finisce con essa. Ecco come si presenta:

Creiamo una classe di tipo NSViewPer disegnare su una finestra dobbiamo utilizzare gli oggetti di tipo view. Proprio per questo dobbiamo creare una classe di tipo NSView :nel menù di Xcode selezioniamo File > New File... (shortcut: ⌘N), selezioniamo Cocoa Class e Objective-C class.

Abbiamo detto che deve essere di tipo NSView, per cui diciamo che la nostra classe sarà una sottoclasse di NSView così erediterà tutti (o quasi tutti) i metodi di NSView :

Si aprirà la seguente finestra:

XcodeItalia free - “Hello, World” in Xcode

12 http://www.xcodeitalia.org

Page 13: Hello, World in Xcode - noblogs.org World in Xcode.pdf · Ringraziamenti!_____20 XcodeItalia free - “Hello, World” in Xcode E’ vietata la modifica senza autorizzazione 3

Scegliamo il nome della classe HelloView e selezioniamo Also create "HelloView.h". Quest'ultima opzione fa si che venga creato anche l'header, o meglio conosciuta (in Objective-C) come intestazione della classe HelloView.

Clicchiamo su Finish.

Cosa abbiamo fatto? Abbiamo creato la classe HelloView di tipo NSView.

Usare Interface BuilderUno dei compiti di Interface Builder è quello di facilitarci la creazione dell’interfaccia grafica (chiamata GUI) dell’applicazione. Interface Builder utilizza il file .xib per memorizzare i suoi dati.

In Xcode facciamo doppio click sul file MainMenu.xib :

XcodeItalia free - “Hello, World” in Xcode

E’ vietata la modifica senza autorizzazione 13

Page 14: Hello, World in Xcode - noblogs.org World in Xcode.pdf · Ringraziamenti!_____20 XcodeItalia free - “Hello, World” in Xcode E’ vietata la modifica senza autorizzazione 3

Si aprirà Interface Builder: clicchiamo sulla finestra dell’applicazione:

XcodeItalia free - “Hello, World” in Xcode

14 http://www.xcodeitalia.org

Page 15: Hello, World in Xcode - noblogs.org World in Xcode.pdf · Ringraziamenti!_____20 XcodeItalia free - “Hello, World” in Xcode E’ vietata la modifica senza autorizzazione 3

e, in caso non fosse aperto l'Inspector, selezioniamo dal menù di Xcode Tools > Inspector. Selezioniamo da quest'ultimo gli attributi:

Da qui possiamo modificare alcuni attributi della finestra. Noi lasciamo tutto di default (possiamo comunque fare dei test per vedere come cambia la finestra).

Adesso, sempre dal menù di Xcode, selezioniamo Tools > Library. La Library contiene oggetti e media da aggiungere alla applicazione.

XcodeItalia free - “Hello, World” in Xcode

E’ vietata la modifica senza autorizzazione 15

Page 16: Hello, World in Xcode - noblogs.org World in Xcode.pdf · Ringraziamenti!_____20 XcodeItalia free - “Hello, World” in Xcode E’ vietata la modifica senza autorizzazione 3

Selezioniamo Custom View.

e trasciniamolo nella finestra Hello.

XcodeItalia free - “Hello, World” in Xcode

16 http://www.xcodeitalia.org

Page 17: Hello, World in Xcode - noblogs.org World in Xcode.pdf · Ringraziamenti!_____20 XcodeItalia free - “Hello, World” in Xcode E’ vietata la modifica senza autorizzazione 3

Ridimensionandolo per tutta la finestra.

Adesso dobbiamo collegare l'oggetto Custom View alla classe precedentemente creata (altrimenti avremmo un oggetto che non appartiene a nessuna classe). Per fare ciò, con la Custom View selezionata apriamo nell'Inspector il tab Identity e scriviamo HelloView :

XcodeItalia free - “Hello, World” in Xcode

E’ vietata la modifica senza autorizzazione 17

Page 18: Hello, World in Xcode - noblogs.org World in Xcode.pdf · Ringraziamenti!_____20 XcodeItalia free - “Hello, World” in Xcode E’ vietata la modifica senza autorizzazione 3

Poi dal Size Inspector impostiamo la finestra in modo tale che se la finestra viene ridimensionata, automaticamente il contenuto verrà anch'esso ridimensionato. Impostiamo come da figura:

Salviamo e ritorniamo in Xcode.

Implementiamo il codiceDa Xcode selezioniamo il file HelloView.m e modifichiamolo come segue (il testo evidenziato in giallo è quello da aggiungere):

XcodeItalia free - “Hello, World” in Xcode

18 http://www.xcodeitalia.org

Page 19: Hello, World in Xcode - noblogs.org World in Xcode.pdf · Ringraziamenti!_____20 XcodeItalia free - “Hello, World” in Xcode E’ vietata la modifica senza autorizzazione 3

Poi clicchiamo su Save di nuovo.

Compilare ed eseguire l'applicazionePer compilare ed eseguire l'applicazione basta cliccare sull'icona Build and Run.

L'applicazione apparirà nel vostro schermo. Buon divertimento.

XcodeItalia free - “Hello, World” in Xcode

E’ vietata la modifica senza autorizzazione 19

Page 20: Hello, World in Xcode - noblogs.org World in Xcode.pdf · Ringraziamenti!_____20 XcodeItalia free - “Hello, World” in Xcode E’ vietata la modifica senza autorizzazione 3

RingraziamentiSi ringraziano gli utenti del forum di di XcodeItalia free:

(in ordine alfabetico)

• 369• Bonny92• Geppy Parziale• jockerfox • revolt_nobody• sper

XcodeItalia free - “Hello, World” in Xcode

20 http://www.xcodeitalia.org