问题描述
|
我正在构建的iPhone应用程序具有以下seutp。
AppDelegate创建导航控制器并将其根控制器设置为MainController
MainController创建一个TabBarController
并添加5个TableViewControllers
当用户单击表中的一行时,我要将其视图推到“导航”控制器上。但是,它的navigationController属性未设置,我需要访问MainController。我可以通过在TableViewController上创建一个属性并向下传递给Navigation控制器的引用来解决此问题,但这感觉很脏,尤其是当我不得不通过越来越多的子控制器将其向下传递时。一定有更好的方法。
我应该注意,我没有在项目上使用IB。
谢谢!
解决方法
为什么不从应用程序委托访问它?
这应该可以在代码中的任何地方工作。
-(id)mainController
{
return [[[UIApplication sharedApplication] delegate] rootViewController];
}