itsukichang

フロントエンドが得意なエンジニア.ダーツと旅行とギターが好き

nil値。

さてさて、続いてnil値について。

まず、これが何者か。

C言語ではポインタが何も指し示してない状態を表すために、NULLという値があるのをご存知だと思います。
Objcにも似たようなものがあります。オブジェクトのための変数が、何のオブジェクトも指し示してないことを表す変数。
これがnilという値です。

次のようにして使用します。

NSSting* string;
string = nil;

オブジェクトのための変数については前回説明した通りです。
まず、NSStringというクラスのインスタンスがstringという変数に格納されます。
その変数、stringにnilの値を入れる。これで、stringという変数が何も指し示していないことになります。

これは条件式で利用できます。
条件式は「0か、0ではないか。」で判断しますよね?
実はnilの実際の値は0なんです。
つまりm「string = nil;」はstring変数に0を代入していることになります。
これを利用して、オブジェクトの変数が有効なのか無効なのか判断することができます。

次のようにすればその判断ができます。

NSString* string;

// stringオブジェクトを取得する。
・・・略・・・

// stringオブジェクトが有効かの判断。
if (string) {
      //stringオブジェクトは有効
}
else {
      //stringオブジェクトは無効
}

このように条件式のところにオブジェクトの変数をそのまま入れてしまえばOK。
nilなら偽。それ意外は真となるわけです。