2011-01-27 12 views

答えて

5

nilは単なるオブジェクトプレースホルダです。任意のObjective-Cオブジェクトポインタを割り当てることができます。

したがって、タイプNSDate *の変数をnilに割り当てることができます。

ただし、オブジェクトの所有権がある場合は、nilに変数を設定する前に-releaseメッセージを送信する必要があります。そうしないと、変数が指すメモリがリークします。

+0

は...もう一つの疑問をいただき、ありがとうございます。文字列では、空の文字を文字列変数に代入できます。 NSString * s = @ ""と同様です。 NSDate変数の場合、空の値をどのように割り当てることができますか? –

+0

@Rajkanth '[NSDate date]'で十分です。 –

+0

@Rajkanthしかし、なぜあなたはこれをしたいですか? –

3

することができます...しかし、それはautoreleaseのオブジェクトでない場合、それを解放することをお勧め..です

すなわち

[dateObject release]; // Only if it is not autorelease object. 
dateObject = nil; 
+0

変数をリリースすると、メモリから削除されます。では、どのようにしてそれに無関心を割り当てることができますか? –

+0

@ Rajkanthメモリが割り当て解除されただけでも、ポインタ参照がまだ存在していないわけではありません。 –

+0

ありがとう –