这是我的MainWindow.xib。它包含一个标签栏,其条目各包含一个UINavigationController。 CalendarViewController和SettingsViewController都没有关联的nib。
从CalendarViewController内部,我可以正常访问self.navigationController
,但不能访问SettingsViewController。在那里,self.navigationController
始终返回nil
。
我有什么可以忘记的?视图控制器本身工作正常,顺便说一句。
答案 0 :(得分:2)
找到解决方案(感谢Jano):我的initWithCoder:
方法看起来像这样:
- (id) initWithCoder:(NSCoder *)aDecoder
{
self = [super initWithStyle:UITableViewStyleGrouped];
return self;
}
这没有读取aDecoder中表示的值,因此没有初始化navigationController
属性。我用这段代码替换了它:
- (id)initWithCoder:(NSCoder *)aDecoder {
self = [super initWithCoder:aDecoder];
self.tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStyleGrouped];
return self;
}