http://decomo.info/wiki/" /> クソゲ〜製作所 - イニシャライザの返り値

クソゲ~製作所

新システムに移行中:http://decomo.info/wiki/

« Objective-Cのコンパイル | メイン | VNC »
スポンサーリンク

2005年09月05日

 

イニシャライザの返り値

 

http://decomo.info/wiki/blog/2005/2005-09-05に移動しました。

サンプルソースを見ていると、各クラスのイニシャライザは

return self;


obj = [super init]
〜〜〜
return obj;

という感じで、自身を返している。うーん何でだろう?

わが師匠 し~くる氏に聞いてみたところ、

  • [hogeHoge alloc]; [hogeHoge init] が [[hogeHoge alloc] init] と書ける
  • 親クラスのイニシャライズが成功したか否かの判別に使う
とのこと。

ふーむ、最初の用途は簡単に理解できる。[hogeHoge alloc] が自身(self)を返すから、[[hogeHoge init] alloc] = [self init] = [hogeHoge init] ということが言える。

でも、親クラスのイニシャライズの判別は、ちょっとわからない。なぜ、self にスーパークラスの返り値を入れることで、判別できるのだろう……?そもそも、親クラスのイニシャライズの成否を調べる場面が、今は思い浮かばない。

まぁ、ボチボチ調べていくことしますか。

Decomo | 10:05

トラックバック

 

■このエントリーのトラックバックアドレス:
http://www.decomo.info/cgi-php/mt/mt-KusoGA-gattsuIshimatsu.cgi/151


■このエントリーのアドレス:
http://decomo.info/mt/archives/2005/200509051005.shtml

 

コメント

 
 

コメントをどうぞ...

 






保存しますか?