Objective-C è stato progettato come estensione del linguaggio C, e per questo motivo tutti i tipi scalari di C sono disponibili anche su Objective-C. Vediamone alcuni.
int
Rappresenta un intero (positivo o negativo). Il numero di bit utilizzati è pari a quello dell’architettura su cui gira il codice (quindi 32 o 64 bit).
Per dichiarare una variabile di tipo int
, usiamo la seguente sintassi:
NSLog(@"%d", anInt);
float
Rappresenta valori in virgola mobile ed è rappresentato in memoria da 32 bit.
Nell'esempio che segue, dichiariamo, popoliamo e stampiamo una variabile di tipo float
:
float aFloat = 1.5;
NSLog(@"%f", aFloat);
double
Rappresenta un valore in virgola mobile a 64 bit. L'esempio è simile al precedente:
double aDouble = 2.7;
NSLog(@"%f", aDouble);
char
Rappresenta un singolo carattere, e può essere utilizzato come segue:
char aChar = 'A';
NSLog(@"%c", aChar);
BOOL
Objective-C aggiunge all'insieme dei tipi primitivi supportati da C anche il tipo BOOL
, i cui valori ammessi sono YES
e NO
. Il tipo BOOL
ammetta anche valori true
oppure 1
per rappresentare YES
, nonchè false
oppure 0
per rappresentare NO
.
Per stampare questi valori nella console, utilizziamo lo stesso format specifier visto per le variabili di tipo int
:
BOOL aBOOL = true;
NSLog(@"%d", aBOOL);
Esempio riepilogativo
Possiamo verificare tutti gli esempi di uso di tipi primitivi visti finora, sovrascrivendo il contenuto del file main.m come segue:
@import Foundation;
int main(int argc, const char * argv[]) {
@autoreleasepool {
int anInt = 10;
NSLog(@"%d", anInt);
float aFloat = 1.5;
NSLog(@"%f", aFloat);
double aDouble = 2.7;
NSLog(@"%f", aDouble);
char aChar = 'A';
NSLog(@"%c", aChar);
BOOL aBOOL = true;
NSLog(@"%d", aBOOL);
}
return 0;
}