我开始将更多的视图层次结构移至 IB。
我有一个名为“AlignmentViewController.xib”的 nib 文件,我在其中设置了我的视图层次结构,其中 AlignmentViewController 作为文件所有者。这工作正常。
我仍然模糊的方法之一是 awakeFromNib。在 AlignmentViewController 的以下代码片段中,我添加了单个附加方法 awakeFromNib。但是,它不会被调用:
- (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: 吗?有一个更好的方法吗?