NSIntegerとNSUIntegerとか一般的なデータ型について

Objective-Cのデータ型についてですが、C言語と同じように、CPUやOSに依存します。
ざっくり言うと32ビットと64ビットでは、データ長が違うデータ型があります。
shortは2バイトで、intは4バイトになりますが、
long型が、32ビットと64ビットで違ってくるのですが、
32ビットの場合は、4バイトですが、64ビットの場合は、8バイトになります。
あと、double型も違います。
サイズは、[sizeof(データ型)]を使えば調べられます。

NSLog(@"size = %lu", sizeof(short));
NSLog(@"size = %lu", sizeof(int));
NSLog(@"size = %lu", sizeof(long));
NSLog(@"size = %lu", sizeof(double));

ちなみにですが、整数を表現できる型には、符号付きと符号なしがあります。
下の様に定義した場合は、符号付き扱いになります。

int args1;

実は、上と下は、同じ意味になります。

signed int args1;

符号付きは、先頭にある文字列(signed)を省略できますが、
符号なしの場合は、明示的に定義しないと駄目です。

unsigned int args1;

浮動小数点ですが、doubleとfloatがあります。
通常、[1.23]と記述するとdoubleになります。
floatにしたい場合は、最後に[ f ]を付ける必要があります。

double arg1 = 1.23;
float arg2 = 1.23f;

上記以外に、charとBOOLがあります。
charは、他の言語とだいたい同じです。

char arg = 'A';

真偽値を表す場合は、BOOLを使います。
この型は、他の言語とちょっと異なっていて、[YES],[NO]の値が入るので、
下記に記載した感じで使います。

BOOL isCheck = YES;

次に定数についてですが、変数を定義する時に、[const]を付けると
変更できない変数を定義することもできます。

int const ARG = 100;

NSIntegerとNSUIntegerについてですが、
Foundationフレームワークの中に用意されているものです。
NSIntegerが符号付きで、NSUIntegerが符号なしです。
32ビットと64ビットで、解釈が違ってきます。
32ビットだと[int]と同じですが、64ビットだと[long]になります。