跟踪导航控制器到堆栈的更下方

问题描述

| 我正在构建的iPhone应用程序具有以下seutp。 AppDelegate创建导航控制器并将其根控制器设置为MainController MainController创建一个TabBarController 并添加5个TableViewControllers 当用户单击表中的一行时,我要将其视图推到“导航”控制器上。但是,它的navigationController属性未设置,我需要访问MainController。我可以通过在TableViewController上创建一个属性并向下传递给Navigation控制器的引用来解决此问题,但这感觉很脏,尤其是当我不得不通过越来越多的子控制器将其向下传递时。一定有更好的方法。 我应该注意,我没有在项目上使用IB。 谢谢!     

解决方法

为什么不从应用程序委托访问它? 这应该可以在代码中的任何地方工作。
-(id)mainController
{
     return [[[UIApplication sharedApplication] delegate] rootViewController];
}