Objective-C/データ型
ここでは、Objective-Cの型についてみてみましょう。
基本データ型
Objective-Cの基本データ型には以下のような型があります。
型 | 説明 |
---|---|
short (signed short) | int型よりも小さな数値(整数、ゼロ、負数)を扱う型です。 (サイズはプラットフォームに依存します。) (例) short a = -5; short a[] = {10, 0, -30}; |
unsigned short | int型よりも小さな数値(整数、ゼロ)を扱う型です。 (サイズはプラットフォームに依存します。) (例) unsigned short a = 100; unsigned short a[] = {0, 1, 2}; |
int (signed int) | 数値(整数、ゼロ、負数)を扱う型です。 (例) int a = -5; int a[] = {10, 0, -30}; |
unsigned (unsigned int) | 数値(整数、ゼロ)を扱う型です。 (例) unsigned a = 100; unsigned a[] = {0, 1, 2}; |
float | 小数点を持つ数値を扱うことの出来る型です。 (例) float a = 123.45f; |
double | floatよりも大きな領域を持つ浮動小数点型です。 (例) double a = 123.45; |
char | 1文字の値を持つ型です。 (例) char a = 'A'; |
BOOL | YES/NOのみを持つ型です。 (※BOOL型はtrue/falseではなくYES/NOという値を持ちます。) (例) BOOL b = YES; |
参照型
基本データ型以外のデータは全て参照型になります。
Objective-C言語では、参照型を宣言する時はポインタ変数として宣言しなければなりません。
ポインタ変数として宣言するには変数名の前に「*」(アスタリスク)を付ければOKです。
(例)NSString *str = @"ほげ";
id型
Objective-Cでは「id」型という型が定義されています。このid型は汎用的な型なのでどんな型でもセットすることができます。(JavaでいうObject型のようなものです。)
(id型は内部的には対象オブジェクトへのポインタを持っています。)
このid型も参照型の1つですが、id型に限り宣言時に「*」(アスタリスク)は不要です。
(例)id obj = @"ほげ";
id型を正しい型に変換するには以下のようにします。
// 上記例のid型objをNSString型に変換する。
NSString *str = (NSString*)obj;
※変換しようとする型は、変換できる型でなければなりません。
変換できない型を指定するとエラーとなります。