iOS:从AppDelegate访问导航视图控制器

时间:2012-01-30 05:44:04

标签: iphone ios xcode cocoa

如何从AppDelegate访问导航控制器?

假设我有以下viewControllers:

NavViewController - > UIViewController - > NavViewController - > UIViewController - > NavViewController - >的UITableViewController

在AppDelegate.m中,如何访问UITableViewController?

我只知道如何使用以下代码访问第一个ViewController:

UINavigationController *navigationController = (UINavigationController)[self.window.rootViewController navigationController];
UIViewController *viewController1 = (UIViewController)[navigationController viewControllers]objectAtIndex:0];

但有人可以教我如何从AppDelegate.m访问UITableViewController和第二个UIViewController吗?

1 个答案:

答案 0 :(得分:1)

NavViewController - > UIViewController - > NavViewController - > UIViewController - > NavViewController - >的UITableViewController

你永远不应该有这个。我甚至不知道这是否可行。你应该只有一个UINavigationController。也许你只是以奇怪的方式展示你的设置。

您可以从app delegate访问第二个UIViewController,如下所示:

UIViewController *viewController2 = (UIViewController *)[navigationController viewControllers]objectAtIndex:1];

和UITableViewController一样:

UITableViewController *viewController3 = (UITableViewController *)[navigationController viewControllers]objectAtIndex:2];