ストーリーボード使用時にViewControllerの " - (id)init"が実行されません。 initに取って代わることができる他の方法があるか、発射を強制的に開始する余地がありますか?" - (id)init"はストーリーボード使用時にViewControllerで起動しません
16
A
答えて
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メソッドにロードされていないので、まだ何かを変更しようとしないでください。
あなたは何をしようとしていますか?他にもいくつかの方法があります: '-initWithNibName:bundle:'、 '-viewDidLoad'、' -viewDidAppear: 'などです。あなたがしたいことに応じて、それらのうちの1つが良い選択かもしれません。 – user1118321