[b][code]Una delle prima difficoltà che ho incontrato iniziando a programmare per iPhone è la sintassi. Tutti quegli asterischi, parentesi quadre etc... ma che ..? dove sono le classiche funzioni? dichiarate con le graffe e con gli argomenti nelle tonde? e le variabili? come si dichiarano?
Leggendo qua e la ho capito molte cose, in questo articolo vi dirò giusto poche cose, quel che serve a grandi linee (ma proprio grandi) per orientarsi:
le funzioni esistono ancora e vengono ereditate dal C e C++ per esempio per farne una banale, la radice quadrata di un numero
int a, b;
b = sqrt(a);
ma questo si può apprendere dallo studio del C, come anche le
variabili: queste vanno dichiarate nei file .h, bisogna prima specificarne il tipo poi il nome ed eventualmente assegnarle un valore
float numerovirgola;
int numerointero;
char lettere;
poi esistono i
puntatori che praticamente sono come una variabile solo che servono per memorizzare oggetti più complessi ed usano la memoria dinamica.
Per esempio vengono usati per le stringhe e per oggetti in generale.
La sintassi prevede un asterisco prima del nome del puntatore, per far capire che appunto è un puntatore.
NSString *stringa;
NSObject *oggetto;
UIView *oggettovista;
poi questi oggetti potranno essere usati semplicemente scrivendo il nome del puntatore, e sostanzialmente vengono usati come normali variabili.
Precisamente agli oggetti si applicano dei metodi (che volendo si possono paragonare per molti aspetti alle funzioni).
La sintassi per applicare un metodo ad un oggetto è la seguente:
[oggetto alloc];
il metodo è "alloc" e l'oggetto è "oggetto".
I
metodi ho sono nativi della classe o superclasse o vanno dichiarati.
Bisogna specificare che valore il metodo restituisce e gli argomenti.
Eccome come potremmo creare un metodo che incrementi un numero e lo restituisca
-(int)incrementaDi:(int)numero{
a += numero;
return a;
}
analizziamo la sintassi: -(int) indica che il metodo restituirà un numero intero. dopo i due punti ci sarà un argomento costituito da un numero interro che servirà ad incrementare una variabile.
Ecco come potremmo implementare questo metodo
b = [oggetto incrementaDi:10];
ora "b" assumerà il calore ottenuto dal metodo che a sua volta ha incrementato una sua variabile di 10.
Ultima cosa per questo articolo, le
proprietà . Queste, se possono essere modificate, hanno una semplice sintassi, infatti basta aggiungere un punto alla fine dell'oggetto e scrivere la proprità .
UILabel *label;
label.text = "modifico il testo del label";
label.hidden = YES;
Ho modificato 2 proprietà : il testo del label e il fatto che lui sia nascosto. Volendo si poteva usare anche il metodo "setText" o "setHidden".
Preciso che la modifica del testo è sbagliata in quanto la propietà "text" richiede un oggetto stringa, ma per semplicità ho scritto così.
La guida è stata molto rapida ed è adatta ai neofiti (come alla fine sono io).
Per maggiori informazioni leggete delle guide sul C o C++, per la sintassi (e non solo) vi propongo questo sito (in inglese) molto ben fatto
LINK.
ciao