Objective-C資料型別可以分為:基本資料型別、物件型別和id型別。基本資料型別有:int、float、double和char型別。物件型別就是類或協議所宣告的指標型別,例如:NSAutoreleasePool * pool,其中NSAutoreleasePool是一個類,NSAutoreleasePool *是它指標型別。id型別可以表示任何型別,一般只是表示物件型別,不表示基本資料型別。
int型別
int型別代表整數,它的十六進位制表示方式:0xFFED0D,在使用NSLog函式中格式化字串使用%i表示十進位制的整數,%o(字母o)表示8進位制整數,%#x表示十六進位制整數。它的取值範圍是與裝置相關的,無法一概而論。
float型別
float型別代表單精度浮點數,要表示float型別浮點數,可以在數值後面加上f或F,例如:13.5f。float浮點數也可以用科學計數法表示,例如:1.7e4。NSLog函式中格式化字串:%f表示浮點數,%e表示科學計數法,%g表示浮點數。
double型別
double型別代表雙精度浮點數,與float型別很相似,佔用的位元組空間double型別大體上是float型別的兩倍。大多數計算機是用64位表示double型別。NSLog函式中格式化字串,與float的%f、%e和 %g相同。
char型別
char型別代表字元型別,存放點個字元,用單引號引用起來。例如: 'A',如果要表示一些特殊字元,要使用轉義字元“\”。
Obejctive-C中資料型別可以在int、float、double和char型別前面加上限定詞,限定詞有:long、long long、short、unsigned和signed,這些限定詞從而增強了基本型別。
long int,在大部分計算機中代表32位整數,在整數後面加L(或l)表示,例如:long int numberOfPoints = 131071100L,NSLog函式中格式化字串使用%li表示;
long long int可以指定更加寬泛的整數型別,保證變數至少64位寬度。NSLog函式中格式化字串使用%lli表示;
long double ,可以指定更加寬泛的double型別,要顯示這個可以在尾部使用L(大小寫)表示,1.234e+7L。NSLog函式中格式化字串使用%Lf、%Le和%Lg表示;
short int用來指定存放相對小的整數,一般是佔用int型別的一半。大部分計算機是16位;
unsigned int,告訴編譯器只是接受整數,在數值之後放字母u(或U)表示,例如:0x00ffU;編寫整數時候,可以將字母u(或U)和l(或L)組合起來,例如:20000UL;
signed char,代表的字元與編譯器有關,一般也作為無符合整數使用。