从Nib推送UIViewController时UIWindow没有设置

时间:2011-09-13 16:57:51

标签: ios uiviewcontroller uinavigationcontroller

我正在尝试使用从笔尖创建的视图控制器来执行一个非常简单的pushViewController。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
ServiceDetailViewController *serviceDetail = [[ServiceDetailViewController alloc] initWithNibName:@"ServiceDetailViewController" bundle:nil];
serviceDetail.employee = _employee;

[self.navigationController pushViewController:serviceDetail animated:YES];
previousSelectedRow = indexPath;
}

如果我在viewDidLoad或其函数内的任何其他位置返回serviceDetail视图控制器的窗口,则它为null。当我在pushViewController之后立即返回它的窗口时就可以了。

我的viewDidLoad是正常的。我打电话给超级。

看起来这是我要忽视的傻事,我的splitViewController设置有问题,或xCode 4 / ARC中的错误。

我知道我可能需要提供更多代码,但我希望有人可能有这个想法。

1 个答案:

答案 0 :(得分:0)

在将视图加载到内存中之后,但在将视图添加到包含后备窗口的视图层次结构之前,会立即调用

viewDidLoad。添加到窗口后立即调用viewDidAppear方法。也许你需要窗口值的代码在该方法中会更好。