gpt4 book ai didi

ios - 第二次加载 ViewController 时,self.navigationController 为 nil

转载 作者:可可西里 更新时间:2023-11-01 03:33:51 24 4
gpt4 key购买 nike

我有一个在我的 UIViewControllers 上实现的委托(delegate)/处理程序来处理远程 web 服务的超时。当向我的网络服务发出请求并返回超时 http 代码时,委托(delegate)将被调用并执行以下操作:

UINavigationController *navController = self.navigationController;

if (navController) {
[navController popToRootViewControllerAnimated:YES];
} else {
NSLog(@"navController is null/nil");
}

如果我执行以下步骤,navController 会正确实例化,并且会发生 popToRootViewController 操作。

  1. 在登录 ViewController 上使用网络服务验证我的应用
  2. 自动触发到 CustomMenuViewController 的 segue
  3. 远程等待网络服务超时
  4. 点击以触发到 CustomSubMenuViewController 的 segue

现在,如果我执行以下步骤,则会触发上述代码块中的 else 子句,因为由于某些原因 navController 未正确设置:

  1. 使用网络服务验证我的应用自定义登录 View Controller
  2. 自动转至 CustomMenuViewController
  3. 立即点击以触发到 CustomSubMenuViewController 的 segue
  4. 点击后退按钮触发弹出
  5. 远程等待网络服务超时
  6. 点击以触发到同一个 CustomSubMenuViewController 的 segue

我的问题是:为什么当我第二次加载 ViewController 时,self.navigationController 是否返回 null?

上面例子中的调用栈应该是这样的:NavigationController -> CustomLoginViewController -> CustomMenuViewController -> CustomSubMenuViewController

谢谢

更新:在这个问题上仍然没有取得任何进展!

最佳答案

嘿,这听起来可能很基础,但是,您是否正确分配了 Navbar 对象,也许您可​​以尝试将其属性设置为 strong。这可能会提前释放它。

关于ios - 第二次加载 ViewController 时,self.navigationController 为 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17576018/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com