gpt4 book ai didi

iOS:如何获取指向导航 Controller 的指针

转载 作者:可可西里 更新时间:2023-11-01 06:23:48 25 4
gpt4 key购买 nike

我显然遗漏了一些东西......

在我的 iOS 应用程序中,我将 UIViewController 推送到导航 Controller 上:

MyViewController *mvc = [[MyViewController alloc] initWithNibName:@"MyViewController"];
[self.navigationController mvc animated:YES];

MyViewController 显示正常,我可以看到并使用导航栏,但是当我尝试从我的 View Controller 中获取指向导航 Controller 的指针时,我得到的结果为零。

UINavigationController *nav = [self navigationController];
if (!nav) {
NSLog(@"no nav");
}

我一整天都在为此苦苦思索,但看不出我做错了什么。我在 Xcode 中没有收到任何警告或错误。我是否完全遗漏了什么?

TIA:约翰

最佳答案

navigationController 不会在 viewDidLoad 上正确设置。您必须在 viewDidAppear 或稍后的某个阶段检查它。您要在哪个方法中调用 [self navigationController]

这是因为当调用viewDidLoad时,UINavigationController还在处理pushViewController:animated:方法。它似乎是在初始化 Controller 的view 之后设置navigationController 属性。我不记得该属性是否是在 viewWillAppear 运行时设置的,但它肯定是由 viewDidAppear 设置的。

关于iOS:如何获取指向导航 Controller 的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7733489/

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