【问题标题】:iOS - Navigationcontroller stack issueiOS - 导航控制器堆栈问题
【发布时间】:2026-01-01 18:50:02
【问题描述】:

从根视图导航堆栈中获取 tabBarController。当我从 tabBar 控制器获取 selectedcontroller 时,应用程序崩溃。

TabController *TabBar = (TabController *)viewController.navigationController.presentedViewController; 
UINavigationController *selectedNCinTab = (UINavigationController *)TabBar.selectedViewController;

当执行上面的行时会崩溃。原因如下。

-[UINavigationController selectedViewController]:无法识别的选择器发送到实例 0xf4b0be0

【问题讨论】:

  • 试试 (UINavigationController *)(TabBar.selectedViewController)
  • 你得到标签栏的对象了吗?尝试在控制台中打印它。它与您创建的对象相同吗?
  • 是的,我正在获取标签栏实例...

标签: ios objective-c uitabbarcontroller


【解决方案1】:

您可能需要在第一行访问 navigationController.topViewController 而不是presentedViewController

【讨论】: