ビュー階層構造の多くを IB に移行し始めています。
「AlignmentViewController.xib」という名前の nib ファイルがあり、ファイルの所有者として AlignmentViewController を使用してビュー階層を設定します。これはうまくいきます。
私が曖昧なままにしているメソッドの 1 つは、awakeFromNib です。次の AlignmentViewController のコード スニペットでは、awakeFromNib メソッドを 1 つ追加します。ただし、呼び出されません。
- (void)awakeFromNib {
NSLog(@"AlignmentViewController - awakeFromNib");
[super awakeFromNib];
}
- (id)initWithChromosomeName:(NSString *)chromosomeName
basepairStart:(NSUInteger)basepairStart
basepairEnd:(NSUInteger)basepairEnd {
self = [self initWithNibName:@"AlignmentViewController" bundle:nil];
if (nil != self) {
self.title = @"Alignment";
self.chromosomeName = chromosomeName;
self.basepairStart = basepairStart;
self.basepairEnd = basepairEnd;
self.wantsFullScreenLayout = YES;
}
return self;
}
ここで見逃したことを誰かが明確にしてくれますか?
乾杯、ダグ
更新:いくつかの回答を読んだ後、かなり基本的なことの根底に到達する必要があることに気付きました。
初期化を見る:
- (id)initWithChromosomeName:(NSString *)chromosomeName
basepairStart:(NSUInteger)basepairStart
basepairEnd:(NSUInteger)basepairEnd {
self = [self initWithNibName:@"AlignmentViewController" bundle:nil];
initWithNibName:bundle: を間接的に呼び出していることに気付きました。これは悪い習慣ですか?AlignmentViewController.xib ファイルは、ビュー階層を定義します。しかし、私は initWithNibName:bundle: を通常の方法で実際に使用していませんか? これを行うより良い方法はありますか?