BaseClass
UIViewControllerクラスを取得しました。それはうまくいきます。BaseClass
BaseClass.xibがあります
次に、その基本クラスのサブクラスを作成しました。
どのコンセントも接続されていないことがわかりました。
置いた
- (id)initWithCoder:(NSCoder *)aDecoder
{
self = [super initWithCoder:aDecoder];
return self;
}
そして、はい、それは行きます。それは呼ばれています。aDecoderが何であるかわかりません。存在しないchildClassのXIBを表現したものだと思います。スーパーをスーパーのxibで初期化したい。
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
}
return self;
}
呼び出されることはありません。
実際、私はそれを自分自身でかなり混乱させています。私たちがxibを持っているとき、それは -(id)initWithCoder:(NSCoder *)aDecoder
呼ばれているもののようです。では、initWithNibNameは何のためにあるのだろうか?
私は試した
- (id)initWithCoder:(NSCoder *)aDecoder
{
self = [super initWithNibName:NSStringFromClass([super class]) bundle:nil];
return self;
}