我有两个分开的navigationcontrollers,一个有RootViewController A,另一个有RootViewController B.

我可以把ViewController C推到A或B的导航堆栈上.

问:当我在ViewController摄氏度时,我如何才能确定我在堆栈中属于A还是B?

推荐答案

您可以使用UINavigationController's viewControllers属性:

@property(nonatomic, copy) NSArray *viewControllers

讨论:根视图控制器位于数组中的索引0处,后视图控制器位于索引n-2处,顶部控制器位于索引n-1处,其中n是数组中的项数.

https://developer.apple.com/documentation/uikit/uinavigationcontroller

您可以使用它来测试根视图控制器(数组索引为0的那个)是视图控制器A还是B.

Ios相关问答推荐

SwiftUI@Observable不跟踪父类属性中的更改以更新视图

SWIFT图表轴订购问题

如何从Windows PC在iPhone上安装Flutter 应用程序

当S没有身体时该如何处理

如何在不将应用程序留在SwiftUI上的情况下更改语言?

如何在iOS 17 SwiftUI中获取用户名

许多文本字段的性能问题

mapView swift 导致警告有网格错误

发生错误.请稍后重试.在 App Store 连接中

为什么常量属性可能在 Swift 类中被初始化两次?

SwiftUI 动画:为什么容器视图在移动?我很难理解这种行为

更改图标会导致 SwiftUI 动画出现故障?

如何解码没有名称的 JSON 数组?

在 SwiftUI 中打开 PDF

如何根据设备时间设置 Flutter 应用时间线?

UITableView 背景 colored颜色 在 iPad 上总是白色

Swift:调用中缺少参数标签xxx

正确的领域使用模式/最佳实践?

判断密钥是否存在于 NSDictionary 中

我可以通过 UIAppearance 代理设置哪些属性?