Objective-Cの勘所4 変数の扱い

前回はクラスについてまとめた。今回は変数について説明する。

変数宣言(参照型の変数)

参照型変数を宣言する場合は変数名の頭にアスタリスク(*)を付けるルールがある。参照型とはポインタのことである。

型名 *変数名;

記述例としては以下のようになる。

MyViewController *myViewController;
NSNumber *num=1;

変数宣言(プリミティブ型の変数)

プリミティブ型の変数を宣言する場合はアスタリスク(*)は不要である。

型名 変数名;

記述例としては以下のようになる。

NSInteger num=1;
int num=1;
uint num=1;

以下の表にObjective-Cにおけるプリミティブ型がまとめてある。

データ型意味
int32ビット 符号付き整数型
unsigned int32ビット 符号なし整数型
long32ビット 符号付き整数型
unsigned long32ビット 符号なし整数型
long long64ビット 符号付き整数型
unsigned long long64ビット 符号なし整数型
short16ビット 符号付き整数型
unsigned short16ビット 符号なし整数型
char8ビット 符号付き整数型(1文字を格納)
unsigned char8ビット 符号なし整数型(1文字を格納)
float32ビット 浮動小数点数型
double64ビット 浮動小数点数型
BOOL真偽値型(YES or NO)
NSInteger32ビット 符号付き整数型
NSUInteger32ビット 符号なし整数型
NSDecimal160ビット 浮動小数点数型

上記の表に載っていない型は参照型となる。
オブジェクト指向言語の慣例では、型の頭が大文字の場合は参照型、型の頭が小文字の場合はプリミティブ型である。Objective-Cでは、一部の型がこの慣例を無視しているので気を付けたい。

参考
Javaの参照型変数とセキュリティ
逆引きObjective-C for iPhoneアプリ – 基本的なデータ型(プリミティブ型)