1. ホーム
  2. objective-c

ナビゲーションスタックで前のビューコントローラーを識別する方法

2023-07-26 20:10:45

質問

私は、2つの独立した navigationcontrollers があり、1つは RootViewController A で、もう一方は RootViewController B.

を押せるようになりました。 ViewController CをAまたはBのナビゲーションスタックにプッシュすることができます。

質問です。私が ViewController Cにいるとき、自分が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かをテストするために使用することができます。