跟踪导航控制器更远的堆栈

时间:2011-04-12 18:34:24

标签: ios ipad ios4

我有一个我正在构建的iPhone应用程序,其中包含以下内容。

  • AppDelegate创建一个导航控制器并将其根控制器设置为MainController
  • MainController创建一个TabBarController 并向其添加了5个TableViewControllers

当用户点击表格中的一行时,我想将其视图推送到导航控制器上。但是,它的navigationController属性没有设置,我需要访问MainController。我可以通过在TableViewController上创建一个属性并传递对Navigation控制器的引用来解决这个问题,但这感觉很脏,特别是如果我不得不继续用越来越多的子控制器传递它。必须有更好的方法。

我应该注意到我没有在项目中使用IB。

谢谢!

1 个答案:

答案 0 :(得分:0)

为什么不从app delegate访问它?

这应该适用于您的代码中的任何位置。

-(id)mainController
{
     return [[[UIApplication sharedApplication] delegate] rootViewController];
}