自分(ViewController)がナビゲーションコントローラーのルートかどうかを判定する処理
code:Swift
if let index = navigationController?.viewControllers.index(of: self), index == 0 {
// ルートのときの処理
} else {
// ルート以外のときの処理
}
例えば、A→B→Cと遷移したら、 viewControllers の中身は [A, B, C] となります。
ですので、自分のindexを探して( let index = navigationController?.viewControllers.index(of: self) )、そのindexが0なら( index == 0 )ルートだし、0以外ならルートではありません。
NavigationControllerのルートかどうかお悩みの際は、ぜひこちらのコードをご活用ください。