2012-02-09 14 views
16

ストーリーボード使用時にViewControllerの " - (id)init"が実行されません。 initに取って代わることができる他の方法があるか、発射を強制的に開始する余地がありますか?" - (id)init"はストーリーボード使用時にViewControllerで起動しません

+2

あなたは何をしようとしていますか?他にもいくつかの方法があります: '-initWithNibName:bundle:'、 '-viewDidLoad'、' -viewDidAppear: 'などです。あなたがしたいことに応じて、それらのうちの1つが良い選択かもしれません。 – user1118321

答えて

37

- (id)initWithCoder:(NSCoder*)aDecoder 
{ 
    if(self = [super initWithCoder:aDecoder]) 
{ 
     // Do something 
    } 
    return self; 
} 
+1

initWithNibNameが呼び出されない理由は、ストーリーボードでnibファイルを使用していないためです。 @ありがとう、私にもinitWithCoderが走った。 – Ant

+0

@Antの+1 - 答えのコードは正しい解決策ですが、説明を見落としてしまいました。それがクリアされました。 –

3

- (id)initWithNibName:(NSString *)nibName bundle:(NSBundle *)nibBundleを使用しようとするが代わりに呼び出されます。

上記のコメントが示すように、オーバーライドする方法が適切かどうかを判断する必要があります。ビューはまだinitWithNibNameメソッドにロードされていないので、まだ何かを変更しようとしないでください。

関連する問題