UINavigationController visibleViewControllers

Cry*_*tal 2 iphone uitabbarcontroller uiviewcontroller uinavigationcontroller

我有一个UITabBarController,一个选项卡是UINavigationController.我有一个搜索栏,可以转到UINavigationController中的某个视图.问题是,如果第一个视图没有被UINavigationController推送,那么它会崩溃,因为我的搜索无法识别此调用中的visibleViewController:

UINavigationController *navController = [self.MainTab.viewControllers objectAtIndex:1];
FirstViewController *fVC = [navController visibleViewController];
Run Code Online (Sandbox Code Playgroud)

我不明白的是,在此代码之前,我这样做:

    self.MainTab.selectedIndex = 1;
Run Code Online (Sandbox Code Playgroud)

这个代码本身选择了该选项卡中的viewController,然后根据我的知识加载视图.那么[navController visibleViewController]是否应该足以获取当前的viewController?谢谢.

Emp*_*ack 5

尝试使用topViewController而不是visibleViewController.

FirstViewController *fVC = [navController topViewController];
Run Code Online (Sandbox Code Playgroud)