iphone - 在具有多个 UINavigationController 的 UITabBarController 中获取推送到 UINavigationController 堆栈上的 View Controller 的父级

标签 iphone objective-c ios foundation

所以这是我真正遇到麻烦的问题。我正在使用此代码检索推送到 UINavigationController 堆栈的 UIViewController 的父 Controller :

MyAppDelegate *delegate = [[UIApplicationDelegate sharedApplication] delegate];
UINavigationController *nav = delegate.navigationController;
MyParentViewController *parent = (MyParentViewController *)nav.topViewController;
parent.myProperty = @"propertyValue";

但是,这似乎仅在您使用具有单个导航 Controller 的应用程序时才有效。我的结构是:

->UITabBarController
-->UINavigationController
--->MyYetAnotherParentViewController
-->UINavigationController
--->MyOtherParentViewController
-->UINavigationController
--->MyParentViewController

这意味着我在标签栏 Controller 中有 3 个导航 Controller 。

我目前在第三个导航 Controller 中,并将一个 View Controller 推到 MyParentViewController 之上。

我正在尝试使用属性将数据从我推送到 MyParentViewController 的 UIViewController 传递。如果我有此设置,我将如何检索我推送到堆栈的 UIViewController 的父级?

最佳答案

不确定这是否是您要查找的内容,但我认为它是 [nav viewControllers] 数组中最顶层的 ViewController。

关于iphone - 在具有多个 UINavigationController 的 UITabBarController 中获取推送到 UINavigationController 堆栈上的 View Controller 的父级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7472125/

相关文章:

iphone - 听声音在 iPhone 模拟器上有效,但在设备上无效

iphone - 简单的游戏服务器

iPhone - 使用与加密所用 key 不同的 key 解密 AES 加密消息

objective-c - Swift 等效于 Objective-C FourCharCode 单引号文字(例如 'TEXT' )

ios - 我已经使用 cncontacts 获取联系人并能够在控制台屏幕上显示它们,但不能在 TableView 上显示

ios - Core Image CIColorControls 亮度滤镜会产生错误的效果。如何更改图像的亮度?

ios - Xcode/模拟器 : How to run older iOS version?

iphone - Swift Web 应用程序 : iPhone keyboard, 顶部栏和布局

ios - AWS SNS 凭证更新错误消息 PlatformPrincipal not valid

ios - 为 Flutter 应用程序添加关联域权限